{"log": null, "root": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy", "tests": [{"call": {"outcome": "passed", "duration": 0.0008748039999773027}, "setup": {"outcome": "passed", "duration": 0.0038946880000025885}, "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.00022121599999991304}}, {"call": {"outcome": "passed", "duration": 0.0004657659999907082}, "setup": {"outcome": "passed", "duration": 0.0003431349999800659}, "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.00018446699999685734}}, {"call": {"outcome": "passed", "duration": 0.0003905639999857158}, "setup": {"outcome": "passed", "duration": 0.0003444580000291353}, "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.00018278300001384196}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005457445999979882, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/tests/test_base_routing_client.py\", line 123, in test_downloading_waveforms\n    mock_instance.get_waveforms_bulk.return_value = obspy.read()\n                                                    ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003450979999684023}, "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.00020828200001687946}}, {"call": {"outcome": "passed", "duration": 0.006035603999976047}, "setup": {"outcome": "passed", "duration": 0.00034451800001988886}, "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.00022676600002569103}}, {"call": {"outcome": "passed", "duration": 0.004295350999996117}, "setup": {"outcome": "passed", "duration": 0.0003417519999970864}, "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.00025157300001410476}}, {"call": {"outcome": "passed", "duration": 0.0006605419999914375}, "setup": {"outcome": "passed", "duration": 0.007125599000005423}, "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.00017167299995435314}}, {"call": {"outcome": "passed", "duration": 0.0005444319999696745}, "setup": {"outcome": "passed", "duration": 0.0003409410000472235}, "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.00017327599999816812}}, {"call": {"outcome": "passed", "duration": 0.00034416699998018885}, "setup": {"outcome": "passed", "duration": 0.0003434459999880346}, "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.00018332399997689208}}, {"call": {"outcome": "passed", "duration": 0.07057148900003085}, "setup": {"outcome": "passed", "duration": 0.0003188989999785008}, "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.00022006399996143955}}, {"call": {"outcome": "passed", "duration": 0.0002835230000073352}, "setup": {"outcome": "passed", "duration": 0.0003711880000309975}, "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.00017567000003282374}}, {"call": {"outcome": "passed", "duration": 0.002392144999987522}, "setup": {"outcome": "passed", "duration": 0.0003390469999544621}, "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.00020345199999383112}}, {"call": {"outcome": "passed", "duration": 0.0012438269999961449}, "setup": {"outcome": "passed", "duration": 0.00032450999998445695}, "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.00017897600002925174}}, {"call": {"outcome": "passed", "duration": 0.00032246600000007675}, "setup": {"outcome": "passed", "duration": 0.00034434700000929297}, "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.0001923620000070514}}, {"call": {"outcome": "passed", "duration": 0.00027777200000400626}, "setup": {"outcome": "passed", "duration": 0.00031442099998457707}, "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.00017124200002172074}}, {"call": {"outcome": "passed", "duration": 0.0009073550000380237}, "setup": {"outcome": "passed", "duration": 0.0003332459999683124}, "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.00018432600001005994}}, {"call": {"outcome": "passed", "duration": 0.007909502000018165}, "setup": {"outcome": "passed", "duration": 0.0008985590000065713}, "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.00018228200002567974}}, {"call": {"outcome": "passed", "duration": 0.0006303650000063499}, "setup": {"outcome": "passed", "duration": 0.00038186699998732365}, "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.00017604099997470257}}, {"call": {"outcome": "passed", "duration": 0.0006156270000019504}, "setup": {"outcome": "passed", "duration": 0.00033702399997537213}, "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.00017781399998284542}}, {"call": {"outcome": "passed", "duration": 0.0006351639999593317}, "setup": {"outcome": "passed", "duration": 0.00032447000000956905}, "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.0001804390000188505}}, {"call": {"outcome": "passed", "duration": 0.0006221890000119856}, "setup": {"outcome": "passed", "duration": 0.00031353899998975976}, "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.00018941600001198822}}, {"call": {"outcome": "passed", "duration": 0.0007176780000008876}, "setup": {"outcome": "passed", "duration": 0.00031484199996612006}, "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.000174919000016871}}, {"call": {"outcome": "passed", "duration": 0.0006299839999996948}, "setup": {"outcome": "passed", "duration": 0.00031969100001560946}, "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.00017324599997436962}}, {"call": {"outcome": "passed", "duration": 0.0006312059999800113}, "setup": {"outcome": "passed", "duration": 0.0003157930000270426}, "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.00017444799999566385}}, {"call": {"outcome": "passed", "duration": 0.0006260870000005525}, "setup": {"outcome": "passed", "duration": 0.0003381060000151592}, "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.00017339600003651867}}, {"call": {"outcome": "passed", "duration": 0.0006218390000185536}, "setup": {"outcome": "passed", "duration": 0.0003438560000290636}, "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.00017445800000359668}}, {"call": {"outcome": "passed", "duration": 0.0016450619999659466}, "setup": {"outcome": "passed", "duration": 0.00033530000001746885}, "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.000178514999959134}}, {"call": {"outcome": "passed", "duration": 0.001672353000003568}, "setup": {"outcome": "passed", "duration": 0.0003215039999986402}, "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.00019186999998055398}}, {"call": {"outcome": "passed", "duration": 0.004923431999998229}, "setup": {"outcome": "passed", "duration": 0.0003164749999768901}, "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.0001812599999766462}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.038412800000003244, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/unittest/mock.py\", line 1378, in patched\n    return func(*newargs, **newkeywargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/tests/test_client.py\", line 1792, in test_no_gzip\n    read().write(bio, 'MSEED')\n    ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032296699998823897}, "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.0002056559999914498}}, {"call": {"outcome": "passed", "duration": 0.0013961630000380865}, "setup": {"outcome": "passed", "duration": 0.0003655269999853772}, "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.00029982299997755035}}, {"call": {"outcome": "passed", "duration": 0.00025885599995945086}, "setup": {"outcome": "passed", "duration": 0.0005462359999910404}, "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.00019801199999847086}}, {"call": {"outcome": "passed", "duration": 0.0002575640000372914}, "setup": {"outcome": "passed", "duration": 0.00031384000004663903}, "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.0001705610000044544}}, {"call": {"outcome": "passed", "duration": 0.0009938279999914812}, "setup": {"outcome": "passed", "duration": 0.0003329660000304102}, "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.00017395699995859104}}, {"call": {"outcome": "passed", "duration": 0.0008232870000028925}, "setup": {"outcome": "passed", "duration": 0.00032257600003049447}, "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.0001767520000157674}}, {"call": {"outcome": "passed", "duration": 0.002217907999977342}, "setup": {"outcome": "passed", "duration": 0.00032204500001853376}, "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.00018551900001284594}}, {"call": {"outcome": "passed", "duration": 0.0011422659999880125}, "setup": {"outcome": "passed", "duration": 0.0003524130000300829}, "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.00018180199998596436}}, {"call": {"outcome": "passed", "duration": 0.001151474000039343}, "setup": {"outcome": "passed", "duration": 0.00032711499994775295}, "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.00022045399998660287}}, {"call": {"outcome": "passed", "duration": 0.0004902710000465049}, "setup": {"outcome": "passed", "duration": 0.0005256680000229608}, "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.00017639099996813457}}, {"call": {"outcome": "passed", "duration": 0.0002428260000328919}, "setup": {"outcome": "passed", "duration": 0.00033814500000062253}, "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.00017482900000231894}}, {"call": {"outcome": "passed", "duration": 0.001402525000003152}, "setup": {"outcome": "passed", "duration": 0.00031838799998240574}, "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.00018344399995839922}}, {"call": {"outcome": "passed", "duration": 0.00114593299997523}, "setup": {"outcome": "passed", "duration": 0.00035226199997850927}, "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.0001800989999765079}}, {"call": {"outcome": "passed", "duration": 0.0006221490000370977}, "setup": {"outcome": "passed", "duration": 0.00032689400001117974}, "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.00017692199998009528}}, {"call": {"outcome": "passed", "duration": 0.0012228879999724995}, "setup": {"outcome": "passed", "duration": 0.00032228600002781604}, "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.00018092999999907988}}, {"call": {"outcome": "passed", "duration": 0.00123649300002171}, "setup": {"outcome": "passed", "duration": 0.0003255720000083784}, "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.00018180099999653976}}, {"call": {"outcome": "passed", "duration": 0.00031641499998613654}, "setup": {"outcome": "passed", "duration": 0.00032591199999387754}, "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.00017536899997594446}}, {"call": {"outcome": "passed", "duration": 0.001008565000006456}, "setup": {"outcome": "passed", "duration": 0.0003400590000524062}, "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.00021848000000090906}}, {"call": {"outcome": "passed", "duration": 0.00025396799998134156}, "setup": {"outcome": "passed", "duration": 0.0003308110000261877}, "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.0001742169999943144}}, {"call": {"outcome": "passed", "duration": 0.0002496790000350302}, "setup": {"outcome": "passed", "duration": 0.0003129479999870455}, "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.00017473799999834227}}, {"call": {"outcome": "passed", "duration": 0.0002451209999776438}, "setup": {"outcome": "passed", "duration": 0.0002953349999756938}, "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.00017701300004091536}}, {"call": {"outcome": "passed", "duration": 0.00026462699997864547}, "setup": {"outcome": "passed", "duration": 0.0002885819999960404}, "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.00016555100000914535}}, {"call": {"outcome": "passed", "duration": 0.00023147500002096422}, "setup": {"outcome": "passed", "duration": 0.00028913400001329137}, "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.0001850179999678403}}, {"call": {"outcome": "passed", "duration": 0.0014278129999638622}, "setup": {"outcome": "passed", "duration": 0.00028789100002768464}, "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.00017208399998480672}}, {"call": {"outcome": "passed", "duration": 0.0016584059999900091}, "setup": {"outcome": "passed", "duration": 0.00029317100000980645}, "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.000171963000013875}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009080359999984466, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 283, in test_inventory_parsing\n    inv = obspy.read_inventory(testdata[\"channel_level_fdsn.txt\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007673709999949097}, "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.0002070689999982278}}, {"call": {"outcome": "passed", "duration": 0.0015385510000101021}, "setup": {"outcome": "passed", "duration": 0.0003027999999858366}, "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.0001739670000233673}}, {"call": {"outcome": "passed", "duration": 0.0008837999999968815}, "setup": {"outcome": "passed", "duration": 0.0002942529999927501}, "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.00016800600002397914}}, {"call": {"outcome": "passed", "duration": 0.0013129069999990861}, "setup": {"outcome": "passed", "duration": 0.000289213000030486}, "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.0001748579999798494}}, {"call": {"outcome": "passed", "duration": 0.0007355419999726109}, "setup": {"outcome": "passed", "duration": 0.00031659400002581606}, "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.00017800500000930697}}, {"call": {"outcome": "passed", "duration": 0.0018523710000408755}, "setup": {"outcome": "passed", "duration": 0.00031923000000233515}, "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.00017578000000639804}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.013660870000023806, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 560, in test_download_and_split_mseed\n    st = obspy.read(os.path.join(tmpdir, filename))\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00047435200002610145}, "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.00019796200001565012}}, {"call": {"outcome": "passed", "duration": 0.0007335579999789843}, "setup": {"outcome": "passed", "duration": 0.0003096120000236624}, "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.0001756600000248909}}, {"call": {"outcome": "passed", "duration": 0.00043085999999448177}, "setup": {"outcome": "passed", "duration": 0.000357221000001573}, "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.0001718629999913901}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010058699999717646, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 960, in test_get_stationxml_contents\n    inv = obspy.read_inventory(testdata[\"AU.MEEK.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003543760000184193}, "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.00019048800004384248}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00124359699998422, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 980, in test_fast_vs_slow_get_stationxml_contents\n    _get_stationxml_contents_slow(testdata[\"AU.MEEK.xml\"])\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/mass_downloader/utils.py\", line 423, in _get_stationxml_contents_slow\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036160999997036924}, "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.00021038500000258864}}, {"call": {"outcome": "passed", "duration": 0.0003288880000127392}, "setup": {"outcome": "passed", "duration": 0.00030262799998581613}, "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.00017382699996915107}}, {"call": {"outcome": "passed", "duration": 0.0003610890000231848}, "setup": {"outcome": "passed", "duration": 0.00034275400003025425}, "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.00017177300003368146}}, {"call": {"outcome": "passed", "duration": 0.0006178610000233675}, "setup": {"outcome": "passed", "duration": 0.00028631800000766816}, "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.00016602099998408448}}, {"call": {"outcome": "passed", "duration": 0.000534905999984403}, "setup": {"outcome": "passed", "duration": 0.0002838339999584605}, "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.00019561700003123406}}, {"call": {"outcome": "passed", "duration": 0.0005337630000212812}, "setup": {"outcome": "passed", "duration": 0.0002942130000178622}, "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.00016646300002776115}}, {"call": {"outcome": "passed", "duration": 0.0005906499999923653}, "setup": {"outcome": "passed", "duration": 0.00031483100002560604}, "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.0001684160000081647}}, {"call": {"outcome": "passed", "duration": 0.0036762180000096123}, "setup": {"outcome": "passed", "duration": 0.00028543700000227545}, "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.0001974310000036894}}, {"call": {"outcome": "passed", "duration": 0.0018904219999740235}, "setup": {"outcome": "passed", "duration": 0.00030242899998711437}, "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.0001760810000064339}}, {"call": {"outcome": "passed", "duration": 0.004279501000041819}, "setup": {"outcome": "passed", "duration": 0.00029556499998761865}, "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.00017852500002391025}}, {"call": {"outcome": "passed", "duration": 0.005084834000001592}, "setup": {"outcome": "passed", "duration": 0.00031104499998946267}, "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.00019699000000628075}}, {"call": {"outcome": "passed", "duration": 0.013334536999991542}, "setup": {"outcome": "passed", "duration": 0.0003046630000085315}, "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.0002615110000192544}}, {"call": {"outcome": "passed", "duration": 0.009871339000028456}, "setup": {"outcome": "passed", "duration": 0.0003170960000034029}, "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.00018489799998633316}}, {"call": {"outcome": "passed", "duration": 0.0004181360000075074}, "setup": {"outcome": "passed", "duration": 0.00031272699999362885}, "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.0001748490000181846}}, {"call": {"outcome": "passed", "duration": 0.0037028080000141017}, "setup": {"outcome": "passed", "duration": 0.0010028840000018135}, "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.00020814099997323865}}, {"call": {"outcome": "passed", "duration": 0.000343576000034318}, "setup": {"outcome": "passed", "duration": 0.0009533209999972314}, "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.00019137000003865978}}, {"call": {"outcome": "passed", "duration": 0.002950023999972018}, "setup": {"outcome": "passed", "duration": 0.0009461369999712588}, "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.0002074500000048829}}, {"call": {"outcome": "passed", "duration": 0.025044287000014265}, "setup": {"outcome": "passed", "duration": 0.000995891999991727}, "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.0002445189999775721}}, {"call": {"outcome": "passed", "duration": 0.014012874000002284}, "setup": {"outcome": "passed", "duration": 0.00102443499997662}, "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.00020852199997989374}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000871157000005951, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2184, in test_get_availability\n    c.client.get_stations.return_value = obspy.read_inventory(\n                                         ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010229220000042005}, "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.0002126599999883183}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008044610000297325, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2193, in test_get_availability_with_multiple_channel_epochs\n    c.client.get_stations.return_value = obspy.read_inventory(\n                                         ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009958709999864368}, "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.0002101250000237087}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014626180000050226, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2278, in test_excluding_networks_and_stations\n    obspy.read_inventory(testdata[\"channel_level_fdsn.txt\"])\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000983537999957207}, "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.00020540499997423467}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000740901999961352, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2355, in test_excluding_networks_and_stations_with_an_inventory_object\n    full_inv = obspy.read_inventory(testdata[\"channel_level_fdsn.txt\"])\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011041050000244468}, "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.00020619700001134333}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002356286999997792, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2447, in test_parse_miniseed_filenames\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009524600000077044}, "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.0002147330000070724}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009905609999805165, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2491, in test_warning_when_location_prios_excludes_all_channels\n    c.client.get_stations.return_value = obspy.read_inventory(\n                                         ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010128629999712757}, "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.00020899200001167628}}, {"call": {"outcome": "passed", "duration": 0.001205835999996907}, "setup": {"outcome": "passed", "duration": 0.0003052229999980227}, "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.00019400499996891085}}, {"call": {"outcome": "passed", "duration": 0.0451560509999922}, "setup": {"outcome": "passed", "duration": 0.0002951240000470534}, "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.0005340440000054514}}, {"call": {"outcome": "passed", "duration": 0.008938005000004523}, "setup": {"outcome": "passed", "duration": 0.0007249320000255466}, "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.0003169759999650523}}, {"call": {"outcome": "passed", "duration": 0.9439993640000353}, "setup": {"outcome": "passed", "duration": 0.00031346899999107336}, "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.0003726010000377755}}, {"call": {"outcome": "passed", "duration": 0.0009235759999910442}, "setup": {"outcome": "passed", "duration": 0.0008917970000084097}, "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.00018097999998190062}}, {"call": {"outcome": "passed", "duration": 0.0014827569999624757}, "setup": {"outcome": "passed", "duration": 0.00036211099995853147}, "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.00018275299999004346}}, {"call": {"outcome": "passed", "duration": 0.001162174999990384}, "setup": {"outcome": "passed", "duration": 0.00035964500000318367}, "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.00018180099999653976}}, {"call": {"outcome": "passed", "duration": 0.0013444269999922653}, "setup": {"outcome": "passed", "duration": 0.00034859499999129184}, "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.00017858500001466382}}, {"call": {"outcome": "passed", "duration": 0.0015061510000009548}, "setup": {"outcome": "passed", "duration": 0.0003643449999799486}, "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.00017967799999496492}}, {"call": {"outcome": "passed", "duration": 0.0005916829999819129}, "setup": {"outcome": "passed", "duration": 0.00033699299996214904}, "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.00019653999999036387}}, {"call": {"outcome": "passed", "duration": 0.0009529920000090897}, "setup": {"outcome": "passed", "duration": 0.000334649000024001}, "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.00017823500002123183}}, {"call": {"outcome": "passed", "duration": 0.009540614000002279}, "setup": {"outcome": "passed", "duration": 0.0003881700000079036}, "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.0003058450000139601}}, {"call": {"outcome": "passed", "duration": 0.003192190000049777}, "setup": {"outcome": "passed", "duration": 0.0008100830000330461}, "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.0001847670000074686}}, {"call": {"outcome": "passed", "duration": 0.003234490000011192}, "setup": {"outcome": "passed", "duration": 0.00033319600004233507}, "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.00018573899995999454}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.1520817319999992, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tests/test_sds.py\", line 127, in test_read_from_sds\n    st = client.get_waveforms(net, sta, loc, cha, t - 200, t + 200)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/sds.py\", line 171, in get_waveforms\n    st += read(full_path, format=self.format, starttime=starttime,\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000642918999972153}, "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.0002509920000193233}}, {"call": {"outcome": "passed", "duration": 0.9333441979999861}, "setup": {"outcome": "passed", "duration": 0.0003557090000185781}, "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.00022434200002408033}}, {"call": {"outcome": "passed", "duration": 0.38271396700002924}, "setup": {"outcome": "passed", "duration": 0.0006856090000155746}, "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.0002469739999924059}}, {"call": {"outcome": "passed", "duration": 0.14197134599999117}, "setup": {"outcome": "passed", "duration": 0.00040317799999911585}, "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.00022882000001800407}}, {"call": {"outcome": "passed", "duration": 0.12627200600002197}, "setup": {"outcome": "passed", "duration": 0.00036284199995861854}, "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.00034877499996355255}}, {"call": {"outcome": "passed", "duration": 0.007037709000030645}, "setup": {"outcome": "passed", "duration": 0.0004243279999514016}, "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.00019644900004323063}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010423890000197389, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tests/test_tsindex.py\", line 61, in test_get_waveforms\n    expected_stream = read(\n                      ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.009017140000025847}, "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.00021883099998376565}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008780410000213124, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tests/test_tsindex.py\", line 115, in test_get_waveforms_bulk\n    read(\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008019179999791959}, "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.00021124699998154028}}, {"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": 465.0, "lineno": 1222, "module": "tsindex", "thread": 140368239957504, "created": 1772629718.4656973, "levelno": 30, "process": 2872, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 20980.098247528076}, {"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": 487.0, "lineno": 1222, "module": "tsindex", "thread": 140368239957504, "created": 1772629718.4876125, "levelno": 30, "process": 2872, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 21002.013444900513}], "outcome": "passed", "duration": 0.030716519000009157}, "setup": {"outcome": "passed", "duration": 0.0007706480000138072}, "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.00022518399998716632}}, {"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": 497.0, "lineno": 1222, "module": "tsindex", "thread": 140368239957504, "created": 1772629718.4973428, "levelno": 30, "process": 2872, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 21011.743783950806}, {"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": 507.0, "lineno": 1222, "module": "tsindex", "thread": 140368239957504, "created": 1772629718.5074723, "levelno": 30, "process": 2872, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 21021.873235702515}], "outcome": "passed", "duration": 0.017383015000007163}, "setup": {"outcome": "passed", "duration": 0.000839817999974457}, "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.00023784699999396253}}, {"call": {"outcome": "passed", "duration": 0.0018770879999578938}, "setup": {"outcome": "passed", "duration": 0.0008459399999765083}, "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.00022171699998807526}}, {"call": {"outcome": "passed", "duration": 0.017250825999951758}, "setup": {"outcome": "passed", "duration": 0.0007736439999916911}, "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.00025138300003391123}}, {"call": {"outcome": "passed", "duration": 0.0012022500000057335}, "setup": {"outcome": "passed", "duration": 0.0008356800000228759}, "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.00023968099998228354}}, {"call": {"outcome": "passed", "duration": 0.013807595000002948}, "setup": {"outcome": "passed", "duration": 0.0007930200000032528}, "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.00022977200001150777}}, {"call": {"outcome": "passed", "duration": 0.0009176950000551187}, "setup": {"outcome": "passed", "duration": 0.0003684229999976196}, "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.00020067799999878844}}, {"call": {"outcome": "passed", "duration": 0.00032214499998417523}, "setup": {"outcome": "passed", "duration": 0.0003319139999575782}, "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.00017433799996524613}}, {"call": {"outcome": "passed", "duration": 0.00049788600000511}, "setup": {"outcome": "passed", "duration": 0.0003274450000390061}, "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.00017621199998529846}}, {"call": {"outcome": "passed", "duration": 0.018436296000004404}, "setup": {"outcome": "passed", "duration": 0.0003449679999789623}, "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.00021126699999740595}}, {"call": {"outcome": "passed", "duration": 0.0016917099999886887}, "setup": {"outcome": "passed", "duration": 0.0003975380000156292}, "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.00018562900004326366}}, {"call": {"outcome": "passed", "duration": 0.0014259309999715697}, "setup": {"outcome": "passed", "duration": 0.00036023699999532255}, "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.00021095700003570528}}, {"call": {"outcome": "passed", "duration": 0.00035633999999618027}, "setup": {"outcome": "passed", "duration": 0.00033354700002519166}, "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.00017640200002233541}}, {"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": 591.0, "lineno": 1222, "module": "tsindex", "thread": 140368239957504, "created": 1772629718.591306, "levelno": 30, "process": 2872, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 21105.706930160522}, {"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": 603.0, "lineno": 1222, "module": "tsindex", "thread": 140368239957504, "created": 1772629718.6036189, "levelno": 30, "process": 2872, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 21118.019819259644}], "outcome": "passed", "duration": 0.022264902000017628}, "setup": {"outcome": "passed", "duration": 0.0003283570000007785}, "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.00021604700003763355}}, {"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": 614.0, "lineno": 1222, "module": "tsindex", "thread": 140368239957504, "created": 1772629718.6148453, "levelno": 30, "process": 2872, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 21129.2462348938}], "outcome": "passed", "duration": 0.0046370570000249245}, "setup": {"outcome": "passed", "duration": 0.00040366799998992065}, "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.0003521719999639572}}, {"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": 624.0, "lineno": 1222, "module": "tsindex", "thread": 140368239957504, "created": 1772629718.6240196, "levelno": 30, "process": 2872, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/clients/filesystem/tsindex.py", "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 21138.420581817627}], "outcome": "passed", "duration": 0.02391670700001214}, "setup": {"outcome": "passed", "duration": 0.00040163500000289787}, "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.00022209799999473034}}, {"call": {"outcome": "passed", "duration": 0.0007466629999726138}, "setup": {"outcome": "passed", "duration": 0.0008887210000239065}, "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.00018318399997951929}}, {"call": {"outcome": "passed", "duration": 0.0003105530000198087}, "setup": {"outcome": "passed", "duration": 0.023891558999991958}, "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.00021671800004696706}}, {"call": {"outcome": "passed", "duration": 0.15497018100001014}, "setup": {"outcome": "passed", "duration": 0.02224287000001368}, "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.00026781399998299094}}, {"call": {"outcome": "passed", "duration": 0.0006891050000490395}, "setup": {"outcome": "passed", "duration": 0.02253685300001962}, "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.00021340099999633821}}, {"call": {"outcome": "passed", "duration": 0.00035464699999465665}, "setup": {"outcome": "passed", "duration": 0.022510382999996636}, "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.0002226879999511766}}, {"call": {"outcome": "passed", "duration": 0.00034627000002274144}, "setup": {"outcome": "passed", "duration": 0.022599760999980845}, "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.0002318260000038208}}, {"call": {"outcome": "passed", "duration": 0.00031026300001713025}, "setup": {"outcome": "passed", "duration": 0.07354517400000304}, "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.0002370259999793234}}, {"call": {"outcome": "passed", "duration": 0.14396598600001198}, "setup": {"outcome": "passed", "duration": 0.07456384900001467}, "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.0002768809999906807}}, {"call": {"outcome": "passed", "duration": 0.0005442930000185697}, "setup": {"outcome": "passed", "duration": 0.07524277599998186}, "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.000236534999999094}}, {"call": {"outcome": "passed", "duration": 0.0004626190000180941}, "setup": {"outcome": "passed", "duration": 0.07521699699998408}, "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.0002173690000404349}}, {"call": {"outcome": "passed", "duration": 0.000325441999962095}, "setup": {"outcome": "passed", "duration": 0.07437788000004275}, "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.00022096599997212252}}, {"call": {"outcome": "passed", "duration": 0.06289085700001351}, "setup": {"outcome": "passed", "duration": 0.07409308500001544}, "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.00026599000000260276}}, {"call": {"outcome": "passed", "duration": 0.00056036299997686}, "setup": {"outcome": "passed", "duration": 0.07328498499998659}, "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.0002318960000025072}}, {"call": {"outcome": "passed", "duration": 0.0004326929999933782}, "setup": {"outcome": "passed", "duration": 0.07362989400002107}, "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.00021355199999106844}}, {"call": {"outcome": "passed", "duration": 0.0110852770000065}, "setup": {"outcome": "passed", "duration": 0.07401137100004007}, "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.00023859800000991527}}, {"call": {"outcome": "passed", "duration": 0.007946506999985559}, "setup": {"outcome": "passed", "duration": 0.21574591200004534}, "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.00043468699999493765}}, {"call": {"outcome": "passed", "duration": 0.0021819019999611555}, "setup": {"outcome": "passed", "duration": 0.000886346000015692}, "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.00020686900001010144}}, {"call": {"outcome": "passed", "duration": 0.0005519469999626381}, "setup": {"outcome": "passed", "duration": 0.0007117579999658119}, "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.0002538770000342083}}, {"call": {"outcome": "failed", "duration": 0.006684624999991229, "longrepr": "054 ^^^^^^^\n055 A :class:`~obspy.core.stream.Stream` with an example seismogram can be created\n056 by calling :func:`~obspy.core.stream.read()` without any arguments.\n057 Local files can be read by specifying the filename, files stored on http\n058 servers (e.g. at https://examples.obspy.org) can be read by specifying their\n059 URL. For details and supported formats see the documentation of\n060 :func:`~obspy.core.stream.read`.\n061 \n062 >>> from obspy import read\n063 >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/__init__.py:63: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005713039999477587}, "lineno": 11, "nodeid": "core/__init__.py::obspy.core", "outcome": "failed", "keywords": ["obspy.core", "filterwarnings", "__init__.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021776900001668764}}, {"call": {"outcome": "passed", "duration": 0.002997354000001451}, "setup": {"outcome": "passed", "duration": 0.00040774699999701625}, "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.00017979800003331547}}, {"call": {"outcome": "passed", "duration": 0.003730992999976479}, "setup": {"outcome": "passed", "duration": 0.0006054689999928087}, "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.00020262099997125915}}, {"call": {"outcome": "passed", "duration": 0.002911393000033513}, "setup": {"outcome": "passed", "duration": 0.0003194999999891479}, "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.00019613800003526194}}, {"call": {"outcome": "passed", "duration": 0.002552087000026404}, "setup": {"outcome": "passed", "duration": 0.00031414000000040687}, "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.00017883600003187894}}, {"call": {"outcome": "passed", "duration": 0.002790735999951721}, "setup": {"outcome": "passed", "duration": 0.00031621399995174215}, "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.00018042899995407424}}, {"call": {"outcome": "passed", "duration": 0.0028127969999900415}, "setup": {"outcome": "passed", "duration": 0.0003190790000076049}, "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.0001964090000114993}}, {"call": {"outcome": "passed", "duration": 0.003606138000009196}, "setup": {"outcome": "passed", "duration": 0.00032348799999226685}, "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.00018282400003499788}}, {"call": {"outcome": "failed", "duration": 0.004381526000031499, "longrepr": "128 \n129         :type other: :class:`~obspy.core.event.Catalog`\n130         :param other: Catalog object for comparison.\n131         :rtype: bool\n132         :return: ``True`` if both Catalogs contain the same events.\n133 \n134         .. rubric:: Example\n135 \n136         >>> from obspy.core.event import read_events\n137         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.__eq__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py:137: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003728100000444101}, "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.00018720200000643672}}, {"call": {"outcome": "failed", "duration": 0.004134390999979587, "longrepr": "259 \n260         Clears event list (convenient method).\n261 \n262         .. rubric:: Example\n263 \n264         >>> from obspy.core.event import read_events\n265         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.clear[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py:265: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003211740000210739}, "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.00018640100000766324}}, {"call": {"outcome": "failed", "duration": 0.0041848669999922095, "longrepr": "406 \n407         :rtype: :class:`~obspy.core.event.catalog.Catalog`\n408         :return: Copy of current catalog.\n409 \n410         .. rubric:: Examples\n411 \n412         1. Create a Catalog and copy it\n413 \n414             >>> from obspy.core.event import read_events\n415             >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.copy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py:415: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003206229999932475}, "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.00019004700004643382}}, {"call": {"outcome": "failed", "duration": 0.004413677000002281, "longrepr": "292         specified filter rules.\n293 \n294         :rtype: :class:`Catalog`\n295         :return: Filtered catalog. A new Catalog object with filtered\n296             Events as references to the original Events.\n297 \n298         .. rubric:: Example\n299 \n300         >>> from obspy.core.event import read_events\n301         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.filter[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py:301: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031739600001401413}, "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.0001954969999928835}}, {"call": {"outcome": "failed", "duration": 0.00422312799997826, "longrepr": "616         :param title: Title above plot. If left ``None``, an automatic title\n617             will be generated. Set to ``\"\"`` for no title.\n618         :returns: Figure instance with the plot.\n619 \n620         .. rubric:: Examples\n621 \n622         Mollweide projection for global overview:\n623 \n624         >>> from obspy import read_events\n625         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.plot[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py:625: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003270849999807979}, "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.00019070799999099108}}, {"call": {"outcome": "failed", "duration": 0.0042204929999911656, "longrepr": "463         :type format: str\n464         :param format: The file format to use (e.g. ``\"QUAKEML\"``). See the\n465             `Supported Formats`_ section below for a list of supported formats.\n466         :param kwargs: Additional keyword arguments passed to the underlying\n467             plugin's writer method.\n468 \n469         .. rubric:: Example\n470 \n471         >>> from obspy import read_events\n472         >>> catalog = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.write[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py:472: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003416119999997136}, "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.0001941950000059478}}, {"call": {"outcome": "failed", "duration": 0.00521759700001212, "longrepr": "205         :returns: Figure instance with the plot.\n206 \n207         .. rubric:: Examples\n208 \n209         Default plot includes an orthographic map plot, a beachball plot and\n210         plots of P/S farfield radiation patterns (preferred -- or first --\n211         focal mechanism has to have a moment tensor set).\n212 \n213         >>> from obspy import read_events\n214         >>> event = read_events(\"/path/to/CMTSOLUTION\")[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.event.Event.plot[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/event.py:214: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00038298999999142325}, "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.00019821199998659722}}, {"call": {"outcome": "passed", "duration": 0.0026810690000047543}, "setup": {"outcome": "passed", "duration": 0.0003509699999995064}, "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.00018446699999685734}}, {"call": {"outcome": "passed", "duration": 0.0034697629999982382}, "setup": {"outcome": "passed", "duration": 0.00041836600001943225}, "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.0001854390000062267}}, {"call": {"outcome": "passed", "duration": 0.006035935999989306}, "setup": {"outcome": "passed", "duration": 0.00040689500002599743}, "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.00018798299998934453}}, {"call": {"outcome": "passed", "duration": 0.0026709210000035455}, "setup": {"outcome": "passed", "duration": 0.0003380659999834279}, "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.00017969800001083058}}, {"call": {"outcome": "passed", "duration": 0.002622498999983236}, "setup": {"outcome": "passed", "duration": 0.0003211129999840523}, "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.00018313399999669855}}, {"call": {"outcome": "failed", "duration": 0.004316773999960333, "longrepr": "018     (https://www.gnu.org/copyleft/lesser.html)\n019 \n020 Reading\n021 -------\n022 StationXML files can be read using the\n023 :func:`~obspy.core.inventory.inventory.read_inventory()` function that\n024 returns an :class:`~obspy.core.inventory.inventory.Inventory` object.\n025 \n026 >>> from obspy import read_inventory\n027 >>> inv = read_inventory(\"/path/to/BW_RJOB.xml\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/__init__.py:27: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006337709999684193}, "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.0001905380000266632}}, {"call": {"outcome": "passed", "duration": 0.05941504399999076}, "setup": {"outcome": "passed", "duration": 0.00037838099996179153}, "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.00023116400001299553}}, {"call": {"outcome": "passed", "duration": 0.12613082100000383}, "setup": {"outcome": "passed", "duration": 0.00043356499998026266}, "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.00023575299996991816}}, {"call": {"outcome": "passed", "duration": 0.127777927000011}, "setup": {"outcome": "passed", "duration": 0.00039976099998284553}, "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.00023689500000045882}}, {"call": {"outcome": "failed", "duration": 0.004807005999964531, "longrepr": "244 \n245         Returns a dictionary containing the contents of the object.\n246 \n247         .. rubric:: Example\n248 \n249         >>> example_filename = \"/path/to/IRIS_single_channel_with_response.xml\"\n250         >>> inventory = read_inventory(example_filename)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.inventory.Inventory.get_contents[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py:250: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004186970000432666}, "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.0001980619999812916}}, {"call": {"outcome": "passed", "duration": 0.06013319400000228}, "setup": {"outcome": "passed", "duration": 0.0003567809999935889}, "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.00024542099998825506}}, {"call": {"outcome": "passed", "duration": 0.059724024999979974}, "setup": {"outcome": "passed", "duration": 0.0004083270000023731}, "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.00023614399998450608}}, {"call": {"outcome": "failed", "duration": 0.004805964000013319, "longrepr": "416 \n417         Find response for a given channel at given time.\n418 \n419         >>> from obspy import read_inventory, UTCDateTime\n420         >>> inventory = read_inventory(\"/path/to/IU_ANMO_BH.xml\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.inventory.Inventory.get_response[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py:420: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004315410000117481}, "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.000198483000019678}}, {"call": {"outcome": "failed", "duration": 0.11869837000000416, "longrepr": "944             inv = read_inventory()\n945             inv.plot(projection=\"local\",\n946                      color_per_network={'GR': 'blue',\n947                                         'BW': 'green'})\n948 \n949         Combining a station and event plot:\n950 \n951         >>> from obspy import read_inventory, read_events\n952         >>> inv = read_inventory()\n953         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.inventory.Inventory.plot[8]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py:953: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00036041700002442667}, "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.00023416999999881227}}, {"call": {"outcome": "passed", "duration": 0.060373765999997886}, "setup": {"outcome": "passed", "duration": 0.0003876889999787636}, "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.00023151599998527672}}, {"call": {"outcome": "passed", "duration": 0.0635860339999681}, "setup": {"outcome": "passed", "duration": 0.0004208010000184004}, "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.0002322169999615653}}, {"call": {"outcome": "passed", "duration": 0.06083078499995054}, "setup": {"outcome": "passed", "duration": 0.0003896220000001449}, "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.0002551300000277479}}, {"call": {"outcome": "passed", "duration": 0.0600019070000144}, "setup": {"outcome": "passed", "duration": 0.00041320699995139876}, "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.00024229500002093118}}, {"call": {"outcome": "failed", "duration": 0.004870344999972076, "longrepr": "182 \n183         Returns a dictionary containing the contents of the object.\n184 \n185         .. rubric:: Example\n186 \n187         >>> from obspy import read_inventory\n188         >>> example_filename = \"/path/to/IRIS_single_channel_with_response.xml\"\n189         >>> inventory = read_inventory(example_filename)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.network.Network.get_contents[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/network.py:189: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00046328100000891936}, "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.00022108499996420505}}, {"call": {"outcome": "passed", "duration": 0.060260544000016125}, "setup": {"outcome": "passed", "duration": 0.00034993799999938346}, "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.0002520430000458873}}, {"call": {"outcome": "passed", "duration": 0.060060517000010805}, "setup": {"outcome": "passed", "duration": 0.00040588299998489674}, "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.00023167599999851518}}, {"call": {"outcome": "passed", "duration": 0.06045270499998878}, "setup": {"outcome": "passed", "duration": 0.0003950020000047516}, "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.00023679600002424195}}, {"call": {"outcome": "failed", "duration": 0.0062181280000004335, "longrepr": "361         https://docs.fdsn.org/projects/stationxml/en/latest/response.html#poles-and-zeros\n362 \n363         :returns: The calculated normalization factor (returns None if the\n364             response stage normalization frequency is None)\n365         :rtype: float or None\n366 \n367         .. rubric:: Example\n368 \n369         >>> from obspy import read\n370         >>> paz_stage = read()[0].stats.response.response_stages[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.response.PolesZerosResponseStage.calculate_normalization_factor[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/response.py:370: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004607359999795335}, "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.00021369099999901664}}, {"call": {"outcome": "passed", "duration": 0.002916372000015599}, "setup": {"outcome": "passed", "duration": 0.00036189999997304767}, "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.00020127800002001095}}, {"call": {"outcome": "passed", "duration": 0.059537143000000015}, "setup": {"outcome": "passed", "duration": 0.00033487899997908244}, "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.0002555610000172237}}, {"call": {"outcome": "failed", "duration": 0.004953260999968734, "longrepr": "197 \n198         Returns a dictionary containing the contents of the object.\n199 \n200         .. rubric:: Example\n201 \n202         >>> from obspy import read_inventory\n203         >>> example_filename = \"/path/to/IRIS_single_channel_with_response.xml\"\n204         >>> inventory = read_inventory(example_filename)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.station.Station.get_contents[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/station.py:204: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004898509999975431}, "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.00019965600000659833}}, {"call": {"outcome": "passed", "duration": 0.059044015999973}, "setup": {"outcome": "passed", "duration": 0.00039012400003457515}, "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.00024630299998307237}}, {"call": {"outcome": "passed", "duration": 0.05988665000000992}, "setup": {"outcome": "passed", "duration": 0.0003942210000218438}, "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.00023181599999588798}}, {"call": {"outcome": "passed", "duration": 0.06915664599995353}, "setup": {"outcome": "passed", "duration": 0.00045463499998277257}, "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.00023982100003649975}}, {"call": {"outcome": "passed", "duration": 0.003471805999993194}, "setup": {"outcome": "passed", "duration": 0.0004544639999721767}, "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.00018838400001186528}}, {"call": {"outcome": "passed", "duration": 0.0030516059999854406}, "setup": {"outcome": "passed", "duration": 0.00034799400003748815}, "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.0001845669999624988}}, {"call": {"outcome": "failed", "duration": 0.005574878999993871, "longrepr": "566         :rtype: bool\n567         :return: ``True`` if both Streams contain the same traces, i.e. after a\n568             sort operation going through both streams every trace should be\n569             equal according to Trace's\n570             :meth:`~obspy.core.trace.Trace.__eq__` operator.\n571 \n572         .. rubric:: Example\n573 \n574         >>> from obspy import read\n575         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.__eq__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:575: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00035636899997371074}, "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.0002138520000016797}}, {"call": {"outcome": "passed", "duration": 0.0029675380000071527}, "setup": {"outcome": "passed", "duration": 0.0003351099999804319}, "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.0001870219999773326}}, {"call": {"outcome": "passed", "duration": 0.0046967979999976706}, "setup": {"outcome": "passed", "duration": 0.000341752999986511}, "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.00018507800001543728}}, {"call": {"outcome": "passed", "duration": 0.00267749299996467}, "setup": {"outcome": "passed", "duration": 0.0003480139999965104}, "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.00017849599998953636}}, {"call": {"outcome": "failed", "duration": 0.005567724999991697, "longrepr": "429         Create a new Stream containing num copies of this stream.\n430 \n431         :rtype num: int\n432         :param num: Number of copies.\n433         :returns: New ObsPy Stream object.\n434 \n435         .. rubric:: Example\n436 \n437         >>> from obspy import read\n438         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.__mul__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:438: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034015900001804766}, "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.00021981300000106785}}, {"call": {"outcome": "failed", "duration": 0.0057074389999911546, "longrepr": "601 \n602         Implements rich comparison of Stream objects for \"!=\" operator.\n603 \n604         .. rubric:: Example\n605 \n606         >>> from obspy import read\n607         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.__ne__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:607: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003414020000036544}, "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.00023533199998837517}}, {"call": {"outcome": "passed", "duration": 0.003064930999983062}, "setup": {"outcome": "passed", "duration": 0.0003434849999734979}, "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.00018216199998732918}}, {"call": {"outcome": "passed", "duration": 0.0038251299999956245}, "setup": {"outcome": "passed", "duration": 0.00034933599999931175}, "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.00018221300001641794}}, {"call": {"outcome": "failed", "duration": 0.0043772479999688585, "longrepr": "3567 \n3568         Rotate three explicitly specified channels to ZNE.\n3569 \n3570         >>> from obspy import read, read_inventory\n3571         >>> st = read(\"/path/to/ffbx_unrotated_gaps.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream._rotate_specific_channels_to_zne[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:3571: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033877700002449274}, "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.0002033019999885255}}, {"call": {"outcome": "failed", "duration": 0.004205334999994648, "longrepr": "3509 \n3510         Rotate all matching traces to ZNE, specifying sets of component codes.\n3511 \n3512         >>> from obspy import read, read_inventory\n3513         >>> st = read(\"/path/to/ffbx_unrotated_gaps.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream._rotate_to_zne[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:3513: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034076099996127596}, "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.00020575700000335928}}, {"call": {"outcome": "failed", "duration": 0.005649288000029173, "longrepr": "674 \n675         Append a single Trace object to the current Stream object.\n676 \n677         :param trace: :class:`~obspy.core.trace.Trace` object.\n678 \n679         .. rubric:: Example\n680 \n681         >>> from obspy import read, Trace\n682         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.append[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:682: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032525099999247686}, "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.00020978399999194153}}, {"call": {"outcome": "failed", "duration": 0.005285114000002977, "longrepr": "2957 \n2958         Replaces Stream's trace list by an empty one creating an empty\n2959         Stream object. Useful if there are references to the current\n2960         Stream object that should not break. Otherwise simply use a new\n2961         Stream() instance.\n2962 \n2963         .. rubric:: Example\n2964 \n2965         >>> from obspy import read\n2966         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.clear[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:2966: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003270149999821115}, "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.00019478600000866209}}, {"call": {"outcome": "failed", "duration": 0.0051776020000033895, "longrepr": "2920 \n2921         :rtype: :class:`~obspy.core.stream.Stream`\n2922         :return: Copy of current stream.\n2923 \n2924         .. rubric:: Examples\n2925 \n2926         1. Create a Stream and copy it\n2927 \n2928             >>> from obspy import read\n2929             >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.copy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:2929: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003492760000085582}, "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.00018910500000401953}}, {"call": {"outcome": "failed", "duration": 0.005151183000009496, "longrepr": "1584         Cut the given time range out of all traces of this Stream object.\n1585 \n1586         :type starttime: :class:`~obspy.core.utcdatetime.UTCDateTime`\n1587         :param starttime: Start of time span to remove from stream.\n1588         :type endtime: :class:`~obspy.core.utcdatetime.UTCDateTime`\n1589         :param endtime: End of time span to remove from stream.\n1590 \n1591         .. rubric:: Example\n1592 \n1593         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.cutout[0]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:1593: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032257599997365105}, "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.00019704999999703432}}, {"call": {"outcome": "passed", "duration": 0.003297117000045091}, "setup": {"outcome": "passed", "duration": 0.0003500870000152645}, "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.00020430399996484994}}, {"call": {"outcome": "failed", "duration": 0.005375465000042823, "longrepr": "702 \n703         Extend the current Stream object with a list of Trace objects.\n704 \n705         :param trace_list: list of :class:`~obspy.core.trace.Trace` objects or\n706             :class:`~obspy.core.stream.Stream`.\n707 \n708         .. rubric:: Example\n709 \n710         >>> from obspy import read, Trace\n711         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.extend[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:711: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031865800002606193}, "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.00021679799999674287}}, {"call": {"outcome": "failed", "duration": 0.005585279000001719, "longrepr": "2240             FIR-Lowpass (uses :func:`obspy.signal.filter.lowpass_fir`).\n2241 \n2242         ``'remez_fir'`` (experimental)\n2243             Minimax optimal bandpass using Remez algorithm (uses\n2244             :func:`obspy.signal.filter.remez_fir`).\n2245 \n2246         .. rubric:: Example\n2247 \n2248         >>> from obspy import read\n2249         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.filter[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:2249: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034490799998820876}, "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.0002016889999936211}}, {"call": {"outcome": "failed", "duration": 0.005536045999974704, "longrepr": "755         Traces and the start and end times of segments within Traces that\n756         contain masked arrays (i.e., Traces that were merged without a fill\n757         value).\n758 \n759         .. rubric:: Example\n760 \n761         Our example stream has no gaps:\n762 \n763         >>> from obspy import read, UTCDateTime\n764         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.get_gaps[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:764: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003563900000358444}, "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.00020172900002535243}}, {"call": {"outcome": "failed", "duration": 0.005281578000051468, "longrepr": "2603 \n2604         .. note::\n2605 \n2606             This operation is performed in place on the actual data arrays. The\n2607             raw data will no longer be accessible afterwards. To keep your\n2608             original data, use :meth:`~obspy.core.stream.Stream.copy` to create\n2609             a copy of your stream object.\n2610 \n2611         >>> from obspy import read\n2612         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.interpolate[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:2612: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00035330399998656503}, "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.0001908190000108334}}, {"call": {"outcome": "passed", "duration": 0.002952730000004067}, "setup": {"outcome": "passed", "duration": 0.0003273050000416333}, "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.00020357300002160628}}, {"call": {"outcome": "passed", "duration": 0.004755169000020487}, "setup": {"outcome": "passed", "duration": 0.00032808700001396573}, "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.00020177900000817317}}, {"call": {"outcome": "failed", "duration": 0.005306173999997554, "longrepr": "1148         * pass an string of a R, G, B tuple, where each of the components is a\n1149           float value in the range of 0 to 1, e.g. ``'(1, 0.25, 0.5)'``, or\n1150         * use single letters for the basic built-in colors, such as ``'b'``\n1151           (blue), ``'g'`` (green), ``'r'`` (red), ``'c'`` (cyan), ``'m'``\n1152           (magenta), ``'y'`` (yellow), ``'k'`` (black), ``'w'`` (white).\n1153 \n1154         .. rubric:: Example\n1155 \n1156         >>> from obspy import read\n1157         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.plot[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:1157: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003218150000066089}, "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.00019221200000174576}}, {"call": {"outcome": "failed", "duration": 0.00548010099998919, "longrepr": "1200         If no index is given, remove the last Trace. Passes on the pop() to\n1201         self.traces.\n1202 \n1203         :param index: Index of the Trace object to be returned and removed.\n1204         :returns: Removed Trace.\n1205 \n1206         .. rubric:: Example\n1207 \n1208         >>> from obspy import read\n1209         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.pop[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:1209: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003241789999606226}, "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.00019161099999109865}}, {"call": {"outcome": "failed", "duration": 0.005198982999957025, "longrepr": "1230             value is assumed to be in seconds. Defaults to None.\n1231         :param max_gap: All gaps larger than this value will be omitted. The\n1232             value is assumed to be in seconds. Defaults to None.\n1233 \n1234         .. rubric:: Example\n1235 \n1236         Our example stream has no gaps:\n1237 \n1238         >>> from obspy import read, UTCDateTime\n1239         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.print_gaps[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:1239: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000349777999986145}, "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.00019280200001503545}}, {"call": {"outcome": "failed", "duration": 0.00517734200002451, "longrepr": "1301         Stream object. Passes on the remove() call to self.traces.\n1302 \n1303         :param trace: Trace object to be removed from Stream.\n1304 \n1305         .. rubric:: Example\n1306 \n1307         This example shows how to delete all \"E\" component traces in a stream:\n1308 \n1309         >>> from obspy import read\n1310         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.remove[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:1310: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032535100001496176}, "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.00019882400005144518}}, {"call": {"outcome": "failed", "duration": 0.0054810830000064925, "longrepr": "3233 \n3234         Deconvolve instrument response for all Traces in Stream.\n3235 \n3236         For details see the corresponding\n3237         :meth:`~obspy.core.trace.Trace.remove_response` method of\n3238         :class:`~obspy.core.trace.Trace`.\n3239 \n3240         >>> from obspy import read, read_inventory\n3241         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.remove_response[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:3241: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032686500003364927}, "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.000198133000026246}}, {"call": {"outcome": "failed", "duration": 0.005508684000005815, "longrepr": "3267 \n3268         Remove instrument sensitivity for all Traces in Stream.\n3269 \n3270         For details see the corresponding\n3271         :meth:`~obspy.core.trace.Trace.remove_sensitivity` method of\n3272         :class:`~obspy.core.trace.Trace`.\n3273 \n3274         >>> from obspy import read, read_inventory\n3275         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.remove_sensitivity[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:3275: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003331760000264694}, "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.0002182499999889842}}, {"call": {"outcome": "failed", "duration": 0.0053911239999706595, "longrepr": "2378             a copy of your stream object.\n2379             This also makes an entry with information on the applied processing\n2380             in ``stats.processing`` of every trace.\n2381 \n2382         Uses :func:`scipy.signal.resample`. Because a Fourier method is used,\n2383         the signal is assumed to be periodic.\n2384 \n2385         .. rubric:: Example\n2386 \n2387         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.resample[0]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:2387: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003556789999947796}, "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.00019358399998736786}}, {"call": {"outcome": "failed", "duration": 0.005188723999992817, "longrepr": "1328 \n1329         Reverse the Traces of the Stream object in place.\n1330 \n1331         .. rubric:: Example\n1332 \n1333         >>> from obspy import read\n1334         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.reverse[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:1334: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034451699997362084}, "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.00022111499998800355}}, {"call": {"outcome": "failed", "duration": 0.0042859359999738444, "longrepr": "2765         :type inventory: :class:`~obspy.core.inventory.inventory.Inventory` or\n2766             :class:`~obspy.io.xseed.parser.Parser`\n2767         :param inventory: Inventory or SEED Parser with metadata of channels.\n2768 \n2769         Example to rotate unaligned borehole instrument data based on station\n2770         inventory (a dataless SEED :class:`~obspy.io.xseed.parser.Parser` can\n2771         also be provided, see details for option ``inventory``):\n2772 \n2773         >>> from obspy import read, read_inventory\n2774         >>> st = read(\"/path/to/ffbx_unrotated_gaps.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.rotate[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:2774: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033696299999519397}, "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.00019613900002468654}}, {"call": {"outcome": "failed", "duration": 0.005443162000005941, "longrepr": "1787 \n1788         Alternatively, traces can be selected based on the content of an\n1789         :class:`~obspy.core.inventory.inventory.Inventory` object: trace will\n1790         be selected if the inventory contains a matching channel active at the\n1791         trace start time.\n1792 \n1793         .. rubric:: Examples\n1794 \n1795         >>> from obspy import read\n1796         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.select[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:1796: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003506890000153362}, "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.0002226390000146239}}, {"call": {"outcome": "failed", "duration": 0.00555260700002691, "longrepr": "2152             original data, use :meth:`~obspy.core.stream.Stream.copy` to create\n2153             a copy of your stream object.\n2154             This also makes an entry with information on the applied processing\n2155             in ``stats.processing`` of every trace.\n2156 \n2157         .. rubric:: Example\n2158 \n2159         >>> from obspy import read\n2160         >>> from obspy.signal.invsim import corn_freq_2_paz\n2161         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.simulate[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:2161: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003384859999755463}, "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.0002227090000133103}}, {"call": {"outcome": "failed", "duration": 0.0056743360000268694, "longrepr": "1646         .. note::\n1647 \n1648             The basic idea of :meth:`~obspy.core.stream.Stream.slice`\n1649             is to avoid copying the sample data in memory. So sample data in\n1650             the resulting :class:`~obspy.core.stream.Stream` object contains\n1651             only a reference to the original traces.\n1652 \n1653         .. rubric:: Example\n1654 \n1655         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.slice[0]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:1655: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034465800001726166}, "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.00020109799999090683}}, {"call": {"outcome": "failed", "duration": 0.0054775570000060725, "longrepr": "1709         have overlapping windows, all following windows are affected as well.\n1710 \n1711         Not all yielded windows must have the same number of traces. The\n1712         algorithm will determine the maximal temporal extents by analysing\n1713         all Traces and then creates windows based on these times.\n1714 \n1715         .. rubric:: Example\n1716 \n1717         >>> import obspy\n1718         >>> st = obspy.read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.slide[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:1718: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034004900004447336}, "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.00020019600003706728}}, {"call": {"outcome": "failed", "duration": 0.005524405000016941, "longrepr": "1365              'dataquality'\n1366              Defaults to ['network', 'station', 'location', 'channel',\n1367              'starttime', 'endtime'].\n1368         :type reverse: bool\n1369         :param reverse: Reverts sorting order to descending.\n1370 \n1371         .. rubric:: Example\n1372 \n1373         >>> from obspy import read\n1374         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.sort[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:1374: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034908599997152123}, "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.00019828299997470822}}, {"call": {"outcome": "failed", "duration": 0.005734168000003592, "longrepr": "1171 \n1172         Create a spectrogram plot for each trace in the stream.\n1173 \n1174         For details on kwargs that can be used to customize the spectrogram\n1175         plot see :func:`obspy.imaging.spectrogram.spectrogram`.\n1176 \n1177         .. rubric:: Example\n1178 \n1179         >>> from obspy import read\n1180         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.spectrogram[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:1180: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003542759999959344}, "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.00020592700002453057}}, {"call": {"outcome": "failed", "duration": 0.005350617000033253, "longrepr": "3321         :type npts_tol: int\n3322         :param npts_tol: Tolerate traces with different number of points\n3323             with a difference up to this value. Surplus samples are discarded.\n3324         :type time_tol: float\n3325         :param time_tol: Tolerate difference, in seconds, in startime when\n3326             setting the new starttime of the stack. If starttimes differs more\n3327             than this value it will be set to timestamp 0.\n3328 \n3329         >>> from obspy import read\n3330         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.stack[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:3330: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00036231100000350125}, "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.00025297499996668193}}, {"call": {"outcome": "passed", "duration": 0.0030835960000104023}, "setup": {"outcome": "passed", "duration": 0.00046022499998343847}, "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.00018338500001391367}}, {"call": {"outcome": "failed", "duration": 0.005307006000009551, "longrepr": "2315             Computes the modified energy ratio characteristic function (uses\n2316             :func:`obspy.signal.trigger.modified_energy_ratio`).\n2317 \n2318         ``'zdetect'``\n2319             Z-detector (uses :func:`obspy.signal.trigger.z_detect`).\n2320 \n2321         .. rubric:: Example\n2322 \n2323         >>> from obspy import read\n2324         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.trigger[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:2324: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032514100001890256}, "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.00019376399995962856}}, {"call": {"outcome": "failed", "duration": 0.005525116000001162, "longrepr": "1507         .. note::\n1508 \n1509             This operation is performed in place on the actual data arrays. The\n1510             raw data will no longer be accessible afterwards. To keep your\n1511             original data, use :meth:`~obspy.core.stream.Stream.copy` to create\n1512             a copy of your stream object.\n1513 \n1514         .. rubric:: Example\n1515 \n1516         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.trim[0]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:1516: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034606100001610685}, "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.00020846199998914017}}, {"call": {"outcome": "passed", "duration": 0.0032412529999987783}, "setup": {"outcome": "passed", "duration": 0.00034377600002244435}, "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.00018586999999570253}}, {"call": {"outcome": "passed", "duration": 0.0025338529999885395}, "setup": {"outcome": "passed", "duration": 0.0003293089999942822}, "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.00018002799998839691}}, {"call": {"outcome": "skipped", "duration": 0.0003001840000251832, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00033959799998228846}, "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.00018465699997705087}}, {"call": {"outcome": "failed", "duration": 0.005404709999993429, "longrepr": "094     .. rubric:: Basic Usage\n095 \n096     In most cases a filename is specified as the only argument to\n097     :func:`~obspy.core.stream.read`. For a quick start you may omit all\n098     arguments and ObsPy will create and return a basic example seismogram.\n099     Further usages of the :func:`~obspy.core.stream.read` function can\n100     be seen in the `Further Examples`_ section underneath.\n101 \n102     >>> from obspy import read\n103     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.read[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py:103: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003440869999735696}, "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.00019973500002379296}}, {"call": {"outcome": "passed", "duration": 0.6809816360000127}, "setup": {"outcome": "passed", "duration": 0.0008922270000084609}, "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.00037486499996930434}}, {"call": {"outcome": "passed", "duration": 0.0006006689999935588}, "setup": {"outcome": "passed", "duration": 0.00045589699999482036}, "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.00025976799997806665}}, {"call": {"outcome": "passed", "duration": 0.00027746199998546217}, "setup": {"outcome": "passed", "duration": 0.0003876189999800772}, "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.00018321400000331778}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014129159999924923, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 36, in test_str\n    event = read_events()[1]\n            ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003624819999572537}, "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.0002318560000276193}}, {"call": {"outcome": "passed", "duration": 0.0009358989999554979}, "setup": {"outcome": "passed", "duration": 0.00032140500002242334}, "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.0001849070000048414}}, {"call": {"outcome": "passed", "duration": 0.00081320900000037}, "setup": {"outcome": "passed", "duration": 0.00033006000001023494}, "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.00017845499996838043}}, {"call": {"outcome": "passed", "duration": 0.0012316149999946902}, "setup": {"outcome": "passed", "duration": 0.0003179180000074666}, "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.00017880600000808045}}, {"setup": {"outcome": "skipped", "duration": 0.00019330300000319767, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py', 109, 'Skipped: cartopy not installed')"}, "lineno": 108, "nodeid": "core/tests/test_event.py::TestEvent::test_plot_farfield_without_quiver_with_maps", "outcome": "skipped", "keywords": ["test_plot_farfield_without_quiver_with_maps", "skipif", "pytestmark", "filterwarnings", "image", "TestEvent", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020318200000701836}}, {"call": {"outcome": "passed", "duration": 0.0009515489999785132}, "setup": {"outcome": "passed", "duration": 0.0003069070000378815}, "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.00018513800000619085}}, {"call": {"outcome": "passed", "duration": 0.001254227999993418}, "setup": {"outcome": "passed", "duration": 0.0002981909999562049}, "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.00017943699998568263}}, {"call": {"outcome": "passed", "duration": 0.0007889339999564982}, "setup": {"outcome": "passed", "duration": 0.00030436199995165225}, "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.00017755400000396548}}, {"call": {"outcome": "passed", "duration": 0.00775036900000714}, "setup": {"outcome": "passed", "duration": 0.0003034299999740142}, "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.0002040829999714333}}, {"call": {"outcome": "passed", "duration": 0.00044415499996830476}, "setup": {"outcome": "passed", "duration": 0.00032929899998634937}, "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.00017947700001741396}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013325150000014219, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 230, in test_read_events_without_parameters\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003252610000004097}, "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.00019748100004335356}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011712419999980739, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 237, in test_str\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003267339999979413}, "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.00019467600003508778}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007743049999930918, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 247, in test_read_events\n    catalog = read_events(testdata['iris_events.xml'])\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000821874999985539}, "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.00020689900003389994}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007433170000012979, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 263, in test_read_events_with_wildcard\n    expected = read_events(testdata['iris_events.xml'])\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035113000001274486}, "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.00019646900000225287}}, {"call": {"outcome": "passed", "duration": 0.0008803140000281928}, "setup": {"outcome": "passed", "duration": 0.00030115500004512796}, "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.0001780549999921277}}, {"call": {"outcome": "passed", "duration": 0.0012029119999965587}, "setup": {"outcome": "passed", "duration": 0.00029384199996229654}, "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.00018542899999829388}}, {"call": {"outcome": "passed", "duration": 0.0012737339999944197}, "setup": {"outcome": "passed", "duration": 0.0003117159999987962}, "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.000177102999998624}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013596350000284474, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 357, in test_count_and_len\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029714800001556796}, "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.00019350299999132403}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013000839999790514, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 365, in test_get_item\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030660699997042684}, "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.00019491599999810205}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011296940000420364, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 379, in test_slicing\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032718500000328277}, "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.00019582799995987443}}, {"call": {"outcome": "passed", "duration": 0.001632709000034538}, "setup": {"outcome": "passed", "duration": 0.00030675599998630787}, "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.00018020900000692563}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001123011000004226, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 408, in test_copy\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003009560000464262}, "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.00020999499997742532}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011430189999828144, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 430, in test_filter\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003022280000095634}, "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.00020413400000052206}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007719509999901675, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 460, in test_catalog_resource_id\n    cat = read_events(testdata['neries_events.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036550700002635494}, "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.00019295300000976567}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001153348000002552, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 468, in test_can_pickle\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003058949999967808}, "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.0001931429999899592}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002108604000000014, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 486, in test_issue_2173\n    event2 = read_events(bio)[0]\n             ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003387360000033368}, "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.000194055000008575}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009730799999942974, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 494, in test_read_path\n    assert read_events(str(testdata['iris_events.xml'])) == \\\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035183200003530146}, "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.00019609800000353061}}, {"call": {"outcome": "passed", "duration": 0.00038824000000659}, "setup": {"outcome": "passed", "duration": 0.00031027299996821966}, "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.00017873600000939405}}, {"call": {"outcome": "passed", "duration": 0.00033675299999913477}, "setup": {"outcome": "passed", "duration": 0.0003167549999716357}, "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.00020028599999477592}}, {"call": {"outcome": "passed", "duration": 0.00028751000002102955}, "setup": {"outcome": "passed", "duration": 0.00029654700000492085}, "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.00018434699995850679}}, {"call": {"outcome": "passed", "duration": 0.0002813680000031127}, "setup": {"outcome": "passed", "duration": 0.0003169650000245383}, "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.00020085800002789256}}, {"call": {"outcome": "passed", "duration": 0.00034549899999092304}, "setup": {"outcome": "passed", "duration": 0.00029323100000056}, "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.00017627099998662743}}, {"call": {"outcome": "passed", "duration": 0.001285747000054016}, "setup": {"outcome": "passed", "duration": 0.00031220599998960097}, "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.00019533699997964504}}, {"call": {"outcome": "passed", "duration": 0.000740000999996937}, "setup": {"outcome": "passed", "duration": 0.00029482399997959874}, "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.00019571799998630013}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013343279999844526, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_event.py\", line 674, in test_issue3105\n    evs = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002904059999764286}, "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.0002763089999575641}}, {"call": {"outcome": "passed", "duration": 0.00028832200001716046}, "setup": {"outcome": "passed", "duration": 0.000487706999990678}, "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.00017617099996414254}}, {"call": {"outcome": "passed", "duration": 0.0018245890000230247}, "setup": {"outcome": "passed", "duration": 0.0003089710000381274}, "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.00018428599997832862}}, {"call": {"outcome": "passed", "duration": 0.0006478280000123959}, "setup": {"outcome": "passed", "duration": 0.0003141100000334518}, "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.0001831540000125642}}, {"call": {"outcome": "passed", "duration": 0.0006039849999979197}, "setup": {"outcome": "passed", "duration": 0.0003081099999917569}, "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.00017897599997240832}}, {"call": {"outcome": "passed", "duration": 0.5388441670000361}, "setup": {"outcome": "passed", "duration": 0.0004871460000117622}, "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.0003652370000395422}}, {"call": {"outcome": "passed", "duration": 0.25354705800003785}, "setup": {"outcome": "passed", "duration": 0.00041868699997849035}, "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.00023972100001401486}}, {"call": {"outcome": "passed", "duration": 0.3302066769999783}, "setup": {"outcome": "passed", "duration": 0.00040880799997466966}, "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.00024182399999972404}}, {"call": {"outcome": "passed", "duration": 0.055481670000006034}, "setup": {"outcome": "passed", "duration": 0.000402236000013545}, "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.00022914100003390558}}, {"call": {"outcome": "passed", "duration": 0.0694898120000289}, "setup": {"outcome": "passed", "duration": 0.0004044600000270293}, "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.00023486200001343605}}, {"call": {"outcome": "passed", "duration": 0.05905880400001706}, "setup": {"outcome": "passed", "duration": 0.00039406100000860533}, "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.0002583350000122664}}, {"call": {"outcome": "passed", "duration": 0.06103776399999106}, "setup": {"outcome": "passed", "duration": 0.00040163500000289787}, "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.00022834999998622152}}, {"call": {"outcome": "passed", "duration": 0.054904726000017945}, "setup": {"outcome": "passed", "duration": 0.00037254099999017853}, "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.00022080500002630288}}, {"call": {"outcome": "passed", "duration": 0.00037454400001024624}, "setup": {"outcome": "passed", "duration": 0.0003910249999989901}, "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.0001933529999860184}}, {"call": {"outcome": "passed", "duration": 0.0002635760000089249}, "setup": {"outcome": "passed", "duration": 0.0003026489999911064}, "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.00017224399999804518}}, {"call": {"outcome": "passed", "duration": 0.23274817200001507}, "setup": {"outcome": "passed", "duration": 0.00031838899997183034}, "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.00023377000002255954}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001177293000012014, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_inventory.py\", line 599, in test_inventory_can_be_initialized_with_no_arguments\n    inv2 = read_inventory(buf)\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035299300003543976}, "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.00019906399995761603}}, {"call": {"outcome": "passed", "duration": 0.1207878179999966}, "setup": {"outcome": "passed", "duration": 0.00034314499998799874}, "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.0002335489999722995}}, {"call": {"outcome": "passed", "duration": 0.11191648499999474}, "setup": {"outcome": "passed", "duration": 0.0003760370000236435}, "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.0002495790000125453}}, {"call": {"outcome": "passed", "duration": 0.0003010049999829789}, "setup": {"outcome": "passed", "duration": 0.00037472400003935036}, "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.0001748889999930725}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009098099999960141, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_inventory.py\", line 665, in test_read_inventory_with_wildcard\n    expected = read_inventory(testdata['IU_ANMO_00_BHZ.xml'])\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008361710000031053}, "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.00019298299997672075}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007879099999854589, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_inventory.py\", line 676, in test_read_inventory_with_path\n    inv1 = read_inventory(path1)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035649900001999413}, "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.0002510520000100769}}, {"setup": {"outcome": "skipped", "duration": 0.00018028899995670145, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_inventory.py', 686, 'Skipped: cartopy not installed')"}, "lineno": 685, "nodeid": "core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_global", "outcome": "skipped", "keywords": ["test_location_plot_global", "filterwarnings", "image", "TestInventoryCartopy", "skipif", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001801290000003064}}, {"setup": {"outcome": "skipped", "duration": 0.00021320000001878725, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_inventory.py', 694, 'Skipped: cartopy not installed')"}, "lineno": 693, "nodeid": "core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_ortho", "outcome": "skipped", "keywords": ["test_location_plot_ortho", "filterwarnings", "image", "TestInventoryCartopy", "skipif", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019392500001913504}}, {"setup": {"outcome": "skipped", "duration": 0.0001656709999906525, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_inventory.py', 704, 'Skipped: cartopy not installed')"}, "lineno": 703, "nodeid": "core/tests/test_inventory.py::TestInventoryCartopy::test_location_plot_local", "outcome": "skipped", "keywords": ["test_location_plot_local", "filterwarnings", "image", "TestInventoryCartopy", "skipif", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017820499999743333}}, {"setup": {"outcome": "skipped", "duration": 0.00017396699996652387, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_inventory.py', 714, 'Skipped: cartopy not installed')"}, "lineno": 713, "nodeid": "core/tests/test_inventory.py::TestInventoryCartopy::test_combined_station_event_plot", "outcome": "skipped", "keywords": ["test_combined_station_event_plot", "filterwarnings", "image", "TestInventoryCartopy", "skipif", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024913800001513664}}, {"call": {"outcome": "passed", "duration": 0.0008467409999752817}, "setup": {"outcome": "passed", "duration": 0.0005014220000134628}, "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.00017968800000289775}}, {"call": {"outcome": "passed", "duration": 0.0005913420000069891}, "setup": {"outcome": "passed", "duration": 0.0003077179999877444}, "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.0001767120000408795}}, {"call": {"outcome": "passed", "duration": 0.5733774999999923}, "setup": {"outcome": "passed", "duration": 0.0004639219999944544}, "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.00032176399997752014}}, {"call": {"outcome": "passed", "duration": 0.24911631499998066}, "setup": {"outcome": "passed", "duration": 0.00037982300000294344}, "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.00023711499994760743}}, {"call": {"outcome": "passed", "duration": 0.05549535399995875}, "setup": {"outcome": "passed", "duration": 0.0004084369999759474}, "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.00022825900003908828}}, {"call": {"outcome": "passed", "duration": 0.05834894700001314}, "setup": {"outcome": "passed", "duration": 0.0003940510000006725}, "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.00023121499998524087}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012496379999902274, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_network.py\", line 247, in test_writing_network_before_1990\n    inv2 = read_inventory(buf)\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003905739999936486}, "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.00021141700000271157}}, {"call": {"outcome": "passed", "duration": 0.05565494399996851}, "setup": {"outcome": "passed", "duration": 0.00031528200003094753}, "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.0002447200000119665}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003950754000015877, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_network.py\", line 298, in test_empty_network_code\n    inv2 = read_inventory(buf)\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003990810000118472}, "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.00026800299997375987}}, {"setup": {"outcome": "skipped", "duration": 0.0001844569999889245, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_network.py', 318, 'Skipped: cartopy not installed')"}, "lineno": 317, "nodeid": "core/tests/test_network.py::TestNetworkCartopy::test_location_plot_global", "outcome": "skipped", "keywords": ["test_location_plot_global", "filterwarnings", "image", "TestNetworkCartopy", "skipif", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017981799999233772}}, {"setup": {"outcome": "skipped", "duration": 0.00016958800000566043, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_network.py', 326, 'Skipped: cartopy not installed')"}, "lineno": 325, "nodeid": "core/tests/test_network.py::TestNetworkCartopy::test_location_plot_ortho", "outcome": "skipped", "keywords": ["test_location_plot_ortho", "filterwarnings", "image", "TestNetworkCartopy", "skipif", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001751290000129302}}, {"setup": {"outcome": "skipped", "duration": 0.00016868699998440206, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_network.py', 336, 'Skipped: cartopy not installed')"}, "lineno": 335, "nodeid": "core/tests/test_network.py::TestNetworkCartopy::test_location_plot_local", "outcome": "skipped", "keywords": ["test_location_plot_local", "filterwarnings", "image", "TestNetworkCartopy", "skipif", "usefixtures", "test_network.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017479800004593926}}, {"call": {"outcome": "passed", "duration": 0.0023933470000088164}, "setup": {"outcome": "passed", "duration": 0.0003827689999980066}, "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.00017916699999886987}}, {"call": {"outcome": "passed", "duration": 0.001652134999972077}, "setup": {"outcome": "passed", "duration": 0.00030463199999530843}, "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.00017820499999743333}}, {"call": {"outcome": "passed", "duration": 0.001948722000008729}, "setup": {"outcome": "passed", "duration": 0.0003255720000083784}, "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.00017809500002385903}}, {"call": {"outcome": "passed", "duration": 0.001092241999970156}, "setup": {"outcome": "passed", "duration": 0.0002983900000117501}, "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.00019849299997076741}}, {"call": {"outcome": "passed", "duration": 0.001201637999997729}, "setup": {"outcome": "passed", "duration": 0.00029172800003607335}, "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.00018457699997043164}}, {"call": {"outcome": "passed", "duration": 0.0007264349999900332}, "setup": {"outcome": "passed", "duration": 0.0003202419999865924}, "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.0001753390000089894}}, {"call": {"outcome": "passed", "duration": 0.0008700260000296112}, "setup": {"outcome": "passed", "duration": 0.0003170950000139783}, "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.0001806899999792222}}, {"call": {"outcome": "passed", "duration": 0.0007380659999967065}, "setup": {"outcome": "passed", "duration": 0.0005131940000069335}, "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.00017547999999578678}}, {"call": {"outcome": "passed", "duration": 0.0003291779999585742}, "setup": {"outcome": "passed", "duration": 0.0003067369999598668}, "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.0001732349999770122}}, {"call": {"outcome": "passed", "duration": 0.00038330000000996733}, "setup": {"outcome": "passed", "duration": 0.00031824800004187637}, "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.00018834400003697738}}, {"call": {"outcome": "passed", "duration": 0.0003548669999986487}, "setup": {"outcome": "passed", "duration": 0.00029975400002513197}, "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.000173376000020653}}, {"call": {"outcome": "passed", "duration": 0.0005297449999943638}, "setup": {"outcome": "passed", "duration": 0.0003190099999983431}, "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.00017626100003553802}}, {"call": {"outcome": "passed", "duration": 0.00040567199999941295}, "setup": {"outcome": "passed", "duration": 0.0002953649999994923}, "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.00017218400000729162}}, {"call": {"outcome": "passed", "duration": 0.0004234159999896292}, "setup": {"outcome": "passed", "duration": 0.00030910100002756735}, "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.00017279500002587156}}, {"call": {"outcome": "passed", "duration": 0.000259037000034823}, "setup": {"outcome": "passed", "duration": 0.0003195399999640358}, "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.000170070000024225}}, {"call": {"outcome": "passed", "duration": 0.00041333699999768214}, "setup": {"outcome": "passed", "duration": 0.000294353000015235}, "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.00017097100004548338}}, {"call": {"outcome": "passed", "duration": 0.00027091900000186797}, "setup": {"outcome": "passed", "duration": 0.0003177469999968707}, "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.00017459800000096948}}, {"call": {"outcome": "passed", "duration": 0.0013650050000251213}, "setup": {"outcome": "passed", "duration": 0.0002949849999822618}, "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.00017350600001009298}}, {"call": {"outcome": "passed", "duration": 0.001018685000019559}, "setup": {"outcome": "passed", "duration": 0.00031869899999037443}, "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.00017838500002653745}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008454958000015722, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 308, in test_preferred_origin\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003015260000438502}, "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.00019259199996213283}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0076604559999964295, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 317, in test_preferred_magnitude\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000335419999998976}, "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.0001916600000413382}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00755160099998875, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 326, in test_preferred_focal_mechanism\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033629099999643586}, "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.00019167099998185222}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0078115690000117866, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 336, in test_arrivals_refer_to_picks_in_same_event\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030652600003122643}, "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.00020750999999563646}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0076597739999897385, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 348, in test_all_referred_objects_in_events\n    for num, cat in enumerate(catalogs or make_diverse_catalog_list()):\n                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030925099997602956}, "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.00019546800001535303}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.007588860999987901, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 363, in test_all_resource_id_attrs_are_attached\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031076399994844905}, "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.000189336000005369}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.007846584999981587, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 379, in test_no_overlapping_objects\n    catalogs = catalogs or make_diverse_catalog_list()\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003104929999722117}, "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.00018999700000676967}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012924590000125136, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 402, in test_event_copying_does_not_raise_duplicate_resource_id_warning\n    ev = read_events()[0]\n         ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003120360000252731}, "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.00018963599995913683}}, {"call": {"outcome": "passed", "duration": 0.0005045079999490554}, "setup": {"outcome": "passed", "duration": 0.00033234500000389744}, "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.00017599000000245724}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001121267000030457, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 468, in test_catalog_resource_ids\n    cat1 = read_events()\n           ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002975790000050438}, "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.00018739200004347367}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.04140012700003126, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 505, in test_event_scoped_resource_id_many_threads\n    nested_catalogs = pool.map(make_diverse_catalog_list, range(5))\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/multiprocessing/pool.py\", line 367, in map\n    return self._map_async(func, iterable, mapstar, chunksize).get()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/multiprocessing/pool.py\", line 774, in get\n    raise self._value\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/multiprocessing/pool.py\", line 125, in worker\n    result = (True, func(*args, **kwds))\n                    ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/multiprocessing/pool.py\", line 48, in mapstar\n    return list(map(*args))\n           ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005547829999841269}, "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.00025143300001673197}}, {"call": {"outcome": "passed", "duration": 0.00031142599999611775}, "setup": {"outcome": "passed", "duration": 0.000341972999990503}, "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.00017610200001172416}}, {"call": {"outcome": "passed", "duration": 0.0002626730000088173}, "setup": {"outcome": "passed", "duration": 0.0002985010000315924}, "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.0001752399999759291}}, {"call": {"outcome": "passed", "duration": 0.00032953900000620706}, "setup": {"outcome": "passed", "duration": 0.0003062260000206152}, "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.00017413699998769516}}, {"call": {"outcome": "passed", "duration": 0.009185569999999643}, "setup": {"outcome": "passed", "duration": 0.0002981910000130483}, "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.00018601900001158356}}, {"call": {"outcome": "passed", "duration": 0.012090048000004572}, "setup": {"outcome": "passed", "duration": 0.0003105739999682555}, "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.00018523799997183232}}, {"call": {"outcome": "passed", "duration": 0.00037409300000490475}, "setup": {"outcome": "passed", "duration": 0.00032928800004583536}, "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.00017869600003450614}}, {"call": {"outcome": "passed", "duration": 0.00042001899998922454}, "setup": {"outcome": "passed", "duration": 0.0002993730000184769}, "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.00023724499999389081}}, {"call": {"outcome": "passed", "duration": 0.00044857300002831835}, "setup": {"outcome": "passed", "duration": 0.00038730800002895194}, "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.00023814700000457378}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004785572999992382, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_response.py\", line 66, in test_evalresp_with_output_from_seed\n    inv = read_inventory(xml_filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005947070000047461}, "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.00019462500000599903}}, {"call": {"outcome": "passed", "duration": 0.0010105079999789268}, "setup": {"outcome": "passed", "duration": 0.0003383860000099048}, "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.00017878599999221478}}, {"call": {"outcome": "passed", "duration": 0.0002988919999893369}, "setup": {"outcome": "passed", "duration": 0.0003066659999717558}, "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.00017269500000338667}}, {"call": {"outcome": "passed", "duration": 0.7080686569999557}, "setup": {"outcome": "passed", "duration": 0.0004915139999752682}, "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.0003571919999671991}}, {"call": {"outcome": "passed", "duration": 0.5777062750000255}, "setup": {"outcome": "passed", "duration": 0.000579119000008177}, "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.0003336269999749675}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009578099999885126, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_response.py\", line 198, in test_segfault_after_error_handling\n    inv = read_inventory(testdata[\"TM.SKLT.__.BHZ_faulty_response.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007840330000021822}, "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.0002000359999669854}}, {"call": {"outcome": "passed", "duration": 0.00044273200001043733}, "setup": {"outcome": "passed", "duration": 0.00032253599999876315}, "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.00022087500002498928}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008030500000018037, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_response.py\", line 227, in test_response_list_stage\n    inv = read_inventory(testdata[\"IM_IL31__BHZ.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003775090000317505}, "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.00019774099996539007}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007598270000244156, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_response.py\", line 267, in test_response_with_no_units_in_stage_1\n    inv = read_inventory(testdata[\"stationxml_no_units_in_stage_1.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037627699998665776}, "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.00019780200000241166}}, {"call": {"outcome": "passed", "duration": 0.0015830849999929342}, "setup": {"outcome": "passed", "duration": 0.0005383809999557343}, "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.0001849770000035278}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007627730000194788, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_response.py\", line 324, in test_resp_from_paz_loading_vs_evalresp\n    resp_er = read_inventory(filename)[0][0][0].response\n              ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003788519999829987}, "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.00018826299998409013}}, {"call": {"outcome": "passed", "duration": 0.00036479600004213353}, "setup": {"outcome": "passed", "duration": 0.000332754999988083}, "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.00017634099998531383}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.05572987400000784, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_response.py\", line 417, in test_get_sampling_rates\n    inv = read_inventory(testdata['AU.MEEK.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003448979999802759}, "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.00026049900003499715}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008093110000118031, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_response.py\", line 477, in test_response_calculation_paz_without_decimation\n    inv = read_inventory(testdata['DK.BSD..BHZ.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043035899994947613}, "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.00019889399999328816}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007565419999764345, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_response.py\", line 491, in test_regression_evalresp\n    inv = read_inventory(testdata[\"IM_I53H1_BDF.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003766469999959554}, "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.00019732099997327168}}, {"call": {"outcome": "passed", "duration": 0.16753118600001926}, "setup": {"outcome": "passed", "duration": 0.0003268739999953141}, "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.000240190999988954}}, {"call": {"outcome": "passed", "duration": 0.0020203770000080112}, "setup": {"outcome": "passed", "duration": 0.0003986290000170811}, "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.0001811500000030719}}, {"call": {"outcome": "passed", "duration": 0.00447881600001665}, "setup": {"outcome": "passed", "duration": 0.000356741000018701}, "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.00019622799999297058}}, {"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.019262667000020883}, "setup": {"outcome": "passed", "duration": 0.00037450300004593373}, "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.00023275800003830227}}, {"call": {"outcome": "passed", "duration": 0.008138583000004473}, "setup": {"outcome": "passed", "duration": 0.00045441299999993134}, "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.00019326300002830976}}, {"call": {"outcome": "passed", "duration": 0.02959697699998287}, "setup": {"outcome": "passed", "duration": 0.0003696040000136236}, "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.0003477330000123402}}, {"call": {"outcome": "passed", "duration": 0.704145211000025}, "setup": {"outcome": "passed", "duration": 0.0006904770000346616}, "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.00032696400000986614}}, {"call": {"outcome": "passed", "duration": 0.5643162220000022}, "setup": {"outcome": "passed", "duration": 0.0005775559999960933}, "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.0003234580000253118}}, {"call": {"outcome": "passed", "duration": 0.05669958700002553}, "setup": {"outcome": "passed", "duration": 0.00039653499999303676}, "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.00023711500000445085}}, {"call": {"outcome": "passed", "duration": 0.11839884800002665}, "setup": {"outcome": "passed", "duration": 0.00038193699998601005}, "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.0002419850000023871}}, {"call": {"outcome": "passed", "duration": 0.0007180090000247219}, "setup": {"outcome": "passed", "duration": 0.0003908439999804614}, "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.00028973499996709506}}, {"call": {"outcome": "passed", "duration": 0.00032197499996300394}, "setup": {"outcome": "passed", "duration": 0.00040514099998745223}, "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.0001762219999932313}}, {"call": {"outcome": "passed", "duration": 0.0004968329999996968}, "setup": {"outcome": "passed", "duration": 0.0003039110000031542}, "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.00018013799996197122}}, {"call": {"outcome": "passed", "duration": 0.0003294889999665429}, "setup": {"outcome": "passed", "duration": 0.0003155630000151177}, "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.00019449600000598366}}, {"call": {"outcome": "passed", "duration": 0.0002842940000391536}, "setup": {"outcome": "passed", "duration": 0.00029056599998966703}, "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.00017878599999221478}}, {"call": {"outcome": "passed", "duration": 0.0007908270000029916}, "setup": {"outcome": "passed", "duration": 0.00041235499998037994}, "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.00016945800001622047}}, {"call": {"outcome": "passed", "duration": 0.00030984200003558726}, "setup": {"outcome": "passed", "duration": 0.00031972099998256454}, "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.00018736200001967518}}, {"call": {"outcome": "passed", "duration": 0.0003343280000080995}, "setup": {"outcome": "passed", "duration": 0.00030255900003339775}, "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.00016661299997622336}}, {"call": {"outcome": "passed", "duration": 0.0007949640000219915}, "setup": {"outcome": "passed", "duration": 0.0003193599999917751}, "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.00017560000003413734}}, {"call": {"outcome": "passed", "duration": 0.0008495960000232117}, "setup": {"outcome": "passed", "duration": 0.0003297389999943334}, "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.00017598100004079242}}, {"call": {"outcome": "passed", "duration": 0.00032011100000772785}, "setup": {"outcome": "passed", "duration": 0.00036976500001628665}, "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.0001926820000335283}}, {"call": {"outcome": "passed", "duration": 0.0004772969999748966}, "setup": {"outcome": "passed", "duration": 0.0002981100000170045}, "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.0001787560000252597}}, {"call": {"outcome": "passed", "duration": 0.00024696400004131647}, "setup": {"outcome": "passed", "duration": 0.00029106699997782925}, "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.00017878599999221478}}, {"call": {"outcome": "passed", "duration": 0.0004015439999989212}, "setup": {"outcome": "passed", "duration": 0.0003019870000002811}, "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.00018204200000582205}}, {"call": {"outcome": "passed", "duration": 0.0004074560000049132}, "setup": {"outcome": "passed", "duration": 0.0002941819999477957}, "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.00017599099999188184}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024933050000299772, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stats.py\", line 280, in test_casted_stats_nscl_writes_to_mseed\n    st = Stream(traces=read()[0])\n                       ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002992720000065674}, "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.0002110069999616826}}, {"call": {"outcome": "passed", "duration": 0.000377479000007952}, "setup": {"outcome": "passed", "duration": 0.00032478999997920255}, "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.00020577700001922494}}, {"call": {"outcome": "passed", "duration": 0.0003877190000025621}, "setup": {"outcome": "passed", "duration": 0.0005520570000498992}, "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.0001826929999992899}}, {"call": {"outcome": "passed", "duration": 0.00035519800002248303}, "setup": {"outcome": "passed", "duration": 0.00034515799995915586}, "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.00017922600000019884}}, {"call": {"outcome": "passed", "duration": 0.0008577010000294649}, "setup": {"outcome": "passed", "duration": 0.0016416349999985869}, "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.00020547700000861369}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023860940000304254, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 114, in test_getitem\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003071870000326271}, "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.00019681999998510946}}, {"call": {"outcome": "passed", "duration": 0.0011430179999933898}, "setup": {"outcome": "passed", "duration": 0.002018463000013071}, "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.00022979200002737343}}, {"call": {"outcome": "passed", "duration": 0.0004901320000385567}, "setup": {"outcome": "passed", "duration": 0.0019540719999895373}, "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.0002138209999884566}}, {"call": {"outcome": "passed", "duration": 0.0007828120000112904}, "setup": {"outcome": "passed", "duration": 0.00031862899999168803}, "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.0001781639999762774}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021553000000267275, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 197, in test_add_trace_to_stream\n    st0 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031744699998625947}, "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.0002151850000018385}}, {"call": {"outcome": "passed", "duration": 0.0005282829999941896}, "setup": {"outcome": "passed", "duration": 0.0015496920000259706}, "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.00021963300002880715}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021336190000056376, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 245, in test_count_and_len\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002976600000010876}, "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.00019235100000969396}}, {"call": {"outcome": "passed", "duration": 0.00044534599999224156}, "setup": {"outcome": "passed", "duration": 0.0014980550000132098}, "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.00020051699999612538}}, {"call": {"outcome": "passed", "duration": 0.0014115519999791104}, "setup": {"outcome": "passed", "duration": 0.0015428090000000338}, "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.00020071699998425174}}, {"call": {"outcome": "passed", "duration": 0.0006961779999983264}, "setup": {"outcome": "passed", "duration": 0.0015040960000192172}, "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.00020543599998745776}}, {"call": {"outcome": "passed", "duration": 0.0009710950000112462}, "setup": {"outcome": "passed", "duration": 0.0003148319999581872}, "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.00017593100000112827}}, {"call": {"outcome": "passed", "duration": 0.0013589339999953154}, "setup": {"outcome": "passed", "duration": 0.000294072999963646}, "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.00018109000001231834}}, {"call": {"outcome": "passed", "duration": 0.0015238629999885234}, "setup": {"outcome": "passed", "duration": 0.0015028640000309679}, "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.0002054459999953906}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022778410000228178, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 443, in test_slicing\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003221260000145776}, "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.00023110400002224196}}, {"call": {"outcome": "passed", "duration": 0.0004121349999763879}, "setup": {"outcome": "passed", "duration": 0.00031693600004700784}, "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.0001827639999874009}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021940429999744993, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 474, in test_slice\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029320100003360494}, "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.00019280300000446005}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023422209999921506, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 487, in test_slice_nearest_sample\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003318039999840039}, "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.0001953269999717122}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002310061000002861, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 522, in test_cutout\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003139300000043477}, "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.00019557699999950273}}, {"call": {"outcome": "passed", "duration": 0.0003398289999836379}, "setup": {"outcome": "passed", "duration": 0.00031159600001728904}, "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.00017760299999736162}}, {"call": {"outcome": "passed", "duration": 0.0010590499999807435}, "setup": {"outcome": "passed", "duration": 0.0016083220000382425}, "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.00021932200002083846}}, {"call": {"outcome": "passed", "duration": 0.0013372430000231361}, "setup": {"outcome": "passed", "duration": 0.0014781579999976202}, "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.00020277099997656478}}, {"call": {"outcome": "passed", "duration": 0.004562853999971139}, "setup": {"outcome": "passed", "duration": 0.0003008560000239413}, "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.00018836399999599962}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022584540000138986, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 712, in test_select_on_single_letter_channels\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031040300001450305}, "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.00019096999994872021}}, {"call": {"outcome": "passed", "duration": 0.0018821570000113752}, "setup": {"outcome": "passed", "duration": 0.00032879799999818715}, "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.00018210199999657561}}, {"call": {"outcome": "passed", "duration": 0.00137744900001735}, "setup": {"outcome": "passed", "duration": 0.00032214499998417523}, "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.0001791060000186917}}, {"call": {"outcome": "passed", "duration": 0.00123107400003164}, "setup": {"outcome": "passed", "duration": 0.0002955059999862897}, "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.00017528000000766042}}, {"call": {"outcome": "passed", "duration": 0.003455865000034919}, "setup": {"outcome": "passed", "duration": 0.00031265699999494245}, "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.00018365500000072643}}, {"call": {"outcome": "passed", "duration": 0.0035423170000399296}, "setup": {"outcome": "passed", "duration": 0.00033119299996542395}, "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.0002016090000438453}}, {"call": {"outcome": "passed", "duration": 0.0035980110000082277}, "setup": {"outcome": "passed", "duration": 0.00029880099998536025}, "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.0001855479999903764}}, {"call": {"outcome": "passed", "duration": 0.0024963810000144804}, "setup": {"outcome": "passed", "duration": 0.0015590900000006513}, "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.0002318260000038208}}, {"call": {"outcome": "passed", "duration": 0.004549238999970839}, "setup": {"outcome": "passed", "duration": 0.0003020170000240796}, "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.00018595900002083}}, {"call": {"outcome": "passed", "duration": 0.006118356999991192}, "setup": {"outcome": "passed", "duration": 0.0015107589999843185}, "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.00021239899996317035}}, {"call": {"outcome": "passed", "duration": 0.005942567000033705}, "setup": {"outcome": "passed", "duration": 0.00033038000003671186}, "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.00018724199998132462}}, {"call": {"outcome": "passed", "duration": 0.00040398900000582216}, "setup": {"outcome": "passed", "duration": 0.00030808999997589126}, "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.00017781399998284542}}, {"call": {"outcome": "passed", "duration": 0.001659960000040428}, "setup": {"outcome": "passed", "duration": 0.0003165850000073078}, "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.0001856490000022859}}, {"call": {"outcome": "passed", "duration": 0.01332083199997669}, "setup": {"outcome": "passed", "duration": 0.0003037710000057814}, "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.00020546600001125626}}, {"call": {"outcome": "passed", "duration": 0.01794533199995385}, "setup": {"outcome": "passed", "duration": 0.00033088199995745526}, "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.00024371799997879862}}, {"call": {"outcome": "passed", "duration": 0.0030902969999715424}, "setup": {"outcome": "passed", "duration": 0.00039772799999582276}, "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.00018605000002480665}}, {"call": {"outcome": "passed", "duration": 0.009877791999997498}, "setup": {"outcome": "passed", "duration": 0.0003905739999936486}, "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.0001889850000225124}}, {"call": {"outcome": "passed", "duration": 0.0013319830000000366}, "setup": {"outcome": "passed", "duration": 0.0003064160000008087}, "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.00017873600000939405}}, {"call": {"outcome": "passed", "duration": 0.0015632079999932103}, "setup": {"outcome": "passed", "duration": 0.00030010400001856397}, "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.00017821500000536616}}, {"call": {"outcome": "passed", "duration": 0.0004176449999704346}, "setup": {"outcome": "passed", "duration": 0.000315161999992597}, "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.00017620099998794103}}, {"call": {"outcome": "passed", "duration": 0.0020782859999712855}, "setup": {"outcome": "passed", "duration": 0.00029236000000310014}, "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.00018678100002489373}}, {"call": {"outcome": "passed", "duration": 0.0013509280000221224}, "setup": {"outcome": "passed", "duration": 0.0003277259999663329}, "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.00022085500000912361}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024090160000014293, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 1419, in test_is_pickle\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003052229999980227}, "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.0002136809999910838}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002096319000031599, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 1434, in test_read_write_pickle\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000301035999996202}, "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.00019026799998300703}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002044552000029398, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 1474, in test_read_pickle\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003225859999815839}, "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.00021074599999337806}}, {"call": {"outcome": "passed", "duration": 0.0015773339999896052}, "setup": {"outcome": "passed", "duration": 0.0003059239999743113}, "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.00018178200002694211}}, {"call": {"outcome": "passed", "duration": 0.0006988239999827783}, "setup": {"outcome": "passed", "duration": 0.00029925199999070173}, "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.00017782399999077825}}, {"call": {"outcome": "passed", "duration": 0.0017677820000017164}, "setup": {"outcome": "passed", "duration": 0.0002952749999849402}, "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.00017939700001079473}}, {"call": {"outcome": "passed", "duration": 0.00937806299998556}, "setup": {"outcome": "passed", "duration": 0.0002991620000329931}, "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.00018405599996640376}}, {"call": {"outcome": "passed", "duration": 0.0015079429999786953}, "setup": {"outcome": "passed", "duration": 0.00033066099996403864}, "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.00018233199995165705}}, {"call": {"outcome": "passed", "duration": 0.002041325999982746}, "setup": {"outcome": "passed", "duration": 0.00029775000001563967}, "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.00018074900003739458}}, {"call": {"outcome": "passed", "duration": 0.002778820999992604}, "setup": {"outcome": "passed", "duration": 0.0003170759999875372}, "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.0001816719999965244}}, {"call": {"outcome": "passed", "duration": 0.0019000699999764947}, "setup": {"outcome": "passed", "duration": 0.00031756700002461}, "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.00017897599997240832}}, {"call": {"outcome": "passed", "duration": 0.002431338999997479}, "setup": {"outcome": "passed", "duration": 0.00031180600001334824}, "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.00017985800002406904}}, {"call": {"outcome": "passed", "duration": 0.004784240999981648}, "setup": {"outcome": "passed", "duration": 0.00029263999999784573}, "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.00018278299995699854}}, {"call": {"outcome": "passed", "duration": 0.016804539000020213}, "setup": {"outcome": "passed", "duration": 0.0015707420000126149}, "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.00021562499995297912}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023134770000297067, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 1875, in test_integrate_and_differentiate\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003363320000175918}, "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.000193343000034929}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020994949999817436, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 1895, in test_read\n    tr = read(dtype=np.int64)[0]\n         ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005639799999812567}, "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.00019225099998720907}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000817635999965205, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 1972, in test_read_path\n    st = read(data_path)\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004873849999853519}, "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.00018721200001436955}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020442119999870556, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 1979, in test_copy\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003259220000018104}, "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.00019122999998444357}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002197549000015897, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 1994, in test_merge_with_empty_trace\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000303991999999198}, "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.00019302299995160865}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020864910000000236, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2007, in test_rotate\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003233670000213351}, "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.00019073800001478958}}, {"call": {"outcome": "passed", "duration": 0.24944069500003252}, "setup": {"outcome": "passed", "duration": 0.0015504230000260577}, "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.00027900399999225556}}, {"call": {"outcome": "passed", "duration": 0.39754766999999447}, "setup": {"outcome": "passed", "duration": 0.0016987520000384393}, "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.00026078000001916735}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024137249999967025, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2111, in test_deepcopy\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003952430000140339}, "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.0001908190000108334}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002056554999967375, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2128, in test_write\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003451279999922008}, "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.00021752900005367337}}, {"call": {"outcome": "passed", "duration": 0.023715826000000106}, "setup": {"outcome": "passed", "duration": 0.0003047929999979715}, "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.0002459619999513052}}, {"call": {"outcome": "passed", "duration": 0.00902682299999924}, "setup": {"outcome": "passed", "duration": 0.0003407400000128291}, "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.00019156000001885332}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002309830999990936, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2190, in test_issue_540\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003388669999822014}, "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.00019115899999633257}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002127207000000908, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2222, in test_method_chaining\n    st1 = read()[0:1]\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032574199997270625}, "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.00018956700000671844}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022295699999972385, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2303, in test_simulate_seedresp_parser\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003024380000056226}, "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.00019582800001671785}}, {"call": {"outcome": "passed", "duration": 0.0009829670000272017}, "setup": {"outcome": "passed", "duration": 0.0017594459999941137}, "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.0002052359999993314}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002126175000000785, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2361, in test_remove_response\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002981200000249373}, "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.00019126899996990687}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020524470000395922, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2376, in test_attach_response_deprecated\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003063350000047649}, "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.0002121280000437764}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002299310000012156, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2387, in test_remove_sensitivity\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030523300000595555}, "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.00019101899999895977}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019892979999553972, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2408, in test_interpolate\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003062449999902128}, "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.00020750999999563646}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002021248000005471, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2421, in test_integrate\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029891200000520257}, "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.0001895170000238977}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002017129999956069, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2434, in test_integrate_args\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032563199999913195}, "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.00019021699995391828}}, {"call": {"outcome": "passed", "duration": 0.20950352799997063}, "setup": {"outcome": "passed", "duration": 0.0003031699999951343}, "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.00023663499996473547}}, {"call": {"outcome": "passed", "duration": 0.03566742399999612}, "setup": {"outcome": "passed", "duration": 0.00036621800001057636}, "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.0002769099999682112}}, {"call": {"outcome": "passed", "duration": 0.0034682780000139246}, "setup": {"outcome": "passed", "duration": 0.00034790299997666807}, "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.00020469399999001325}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002317604999973355, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2651, in test_passing_kwargs_to_trace_detrend\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031494199998860495}, "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.00019568799996250164}}, {"call": {"outcome": "passed", "duration": 0.014934464000020853}, "setup": {"outcome": "passed", "duration": 0.0003007850000358303}, "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.00021993299998257498}}, {"call": {"outcome": "passed", "duration": 0.15246280000002344}, "setup": {"outcome": "passed", "duration": 0.0003107839999643147}, "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.00024597200001608144}}, {"call": {"outcome": "passed", "duration": 0.20167945499997586}, "setup": {"outcome": "passed", "duration": 0.00036381400002483133}, "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.00023821700000326018}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025537390000067717, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2745, in test_stack\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038634700001694}, "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.00019565700000612196}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021148640000205887, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2847, in test_stream_trim_slice_same_length\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003638740000155849}, "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.00020671900000479582}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002248164999969049, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2854, in test_filter_ftype\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030611500000077285}, "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.00019259200001897625}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002021869999964565, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_stream.py\", line 2863, in test_filter_freq_args\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032611200003884733}, "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.00019096900001613903}}, {"call": {"outcome": "passed", "duration": 0.004742652000004455}, "setup": {"outcome": "passed", "duration": 0.0017817280000258506}, "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.00020796100000097795}}, {"call": {"outcome": "passed", "duration": 0.005003192000003764}, "setup": {"outcome": "passed", "duration": 0.0015282510000247385}, "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.0002577039999778208}}, {"call": {"outcome": "passed", "duration": 0.00039702600003010957}, "setup": {"outcome": "passed", "duration": 0.000345760000016071}, "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.00017462799996792455}}, {"call": {"outcome": "passed", "duration": 0.0004665970000132802}, "setup": {"outcome": "passed", "duration": 0.000292108999985885}, "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.0001742169999943144}}, {"call": {"outcome": "passed", "duration": 0.000273743999969156}, "setup": {"outcome": "passed", "duration": 0.0003063050000378098}, "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.00018761199999062228}}, {"call": {"outcome": "passed", "duration": 0.0008096220000197718}, "setup": {"outcome": "passed", "duration": 0.00028259100002969717}, "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.00017655200002764104}}, {"call": {"outcome": "passed", "duration": 0.00277853199997935}, "setup": {"outcome": "passed", "duration": 0.00028512500000488217}, "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.00018053899998449197}}, {"call": {"outcome": "passed", "duration": 0.00393510500003913}, "setup": {"outcome": "passed", "duration": 0.00029661800004987526}, "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.00019842300002892443}}, {"call": {"outcome": "passed", "duration": 0.0027338670000176535}, "setup": {"outcome": "passed", "duration": 0.0002977899999905276}, "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.00019807199998922442}}, {"call": {"outcome": "passed", "duration": 0.0017188499999747364}, "setup": {"outcome": "passed", "duration": 0.00029682799998909104}, "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.00019700100000363818}}, {"call": {"outcome": "passed", "duration": 0.0010910099999819067}, "setup": {"outcome": "passed", "duration": 0.0002990309999972851}, "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.00017739300000130243}}, {"call": {"outcome": "passed", "duration": 0.0005765340000039032}, "setup": {"outcome": "passed", "duration": 0.00029057699998702446}, "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.0001978120000103445}}, {"call": {"outcome": "passed", "duration": 0.0014124539999897934}, "setup": {"outcome": "passed", "duration": 0.0002894940000146562}, "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.000182171999995262}}, {"call": {"outcome": "passed", "duration": 0.0010195259999932205}, "setup": {"outcome": "passed", "duration": 0.0002999839999802134}, "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.0001789660000213189}}, {"call": {"outcome": "passed", "duration": 0.0008662980000053722}, "setup": {"outcome": "passed", "duration": 0.00029707799996003814}, "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.00019829299998264105}}, {"call": {"outcome": "passed", "duration": 0.001838144000032571}, "setup": {"outcome": "passed", "duration": 0.00029921200001581383}, "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.0001993640000250707}}, {"call": {"outcome": "passed", "duration": 0.0023313609999604523}, "setup": {"outcome": "passed", "duration": 0.0003004739999710182}, "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.00018242300001247713}}, {"call": {"outcome": "passed", "duration": 0.00835835599997381}, "setup": {"outcome": "passed", "duration": 0.00030195700003332604}, "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.00018772299995362118}}, {"call": {"outcome": "passed", "duration": 0.0010701109999899927}, "setup": {"outcome": "passed", "duration": 0.0003038809999793557}, "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.00018464699996911804}}, {"call": {"outcome": "passed", "duration": 0.007714447000012115}, "setup": {"outcome": "passed", "duration": 0.00031916000000364875}, "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.0001839960000324936}}, {"call": {"outcome": "passed", "duration": 0.001911702000029436}, "setup": {"outcome": "passed", "duration": 0.00032468000000562824}, "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.00018182200000183002}}, {"call": {"outcome": "passed", "duration": 0.0035826220000103604}, "setup": {"outcome": "passed", "duration": 0.0003034699999489021}, "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.00018226200000981407}}, {"call": {"outcome": "passed", "duration": 0.001692230000003292}, "setup": {"outcome": "passed", "duration": 0.00032068299998400107}, "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.00018210199999657561}}, {"call": {"outcome": "passed", "duration": 0.22292789400000856}, "setup": {"outcome": "passed", "duration": 0.00032127399998671535}, "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.00023403000000143948}}, {"call": {"outcome": "passed", "duration": 0.0006608019999703174}, "setup": {"outcome": "passed", "duration": 0.00037377199998900323}, "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.000175980999983949}}, {"call": {"outcome": "passed", "duration": 0.005162411000014799}, "setup": {"outcome": "passed", "duration": 0.0002940719999742214}, "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.00018109999996340775}}, {"call": {"outcome": "passed", "duration": 0.002001371000005747}, "setup": {"outcome": "passed", "duration": 0.0002965570000128537}, "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.00017824499997232124}}, {"call": {"outcome": "passed", "duration": 0.0020446720000109053}, "setup": {"outcome": "passed", "duration": 0.00031554299999925206}, "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.000179215999992266}}, {"call": {"outcome": "passed", "duration": 0.0019680890000017826}, "setup": {"outcome": "passed", "duration": 0.00029485400000339723}, "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.00017538900004865354}}, {"call": {"outcome": "passed", "duration": 0.0029938360000301145}, "setup": {"outcome": "passed", "duration": 0.00029918199999201534}, "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.00018177199996216586}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022983380000027864, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 1208, in test_masked_array_to_string\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002951550000034331}, "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.00020986499998798536}}, {"call": {"outcome": "passed", "duration": 0.004038007999952242}, "setup": {"outcome": "passed", "duration": 0.00030340000000705913}, "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.00018212300000186588}}, {"call": {"outcome": "passed", "duration": 0.008569883999996364}, "setup": {"outcome": "passed", "duration": 0.00031630500001256223}, "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.00018859499999734908}}, {"call": {"outcome": "passed", "duration": 0.00810212499999352}, "setup": {"outcome": "passed", "duration": 0.00030748800003266297}, "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.00018788399995628424}}, {"call": {"outcome": "passed", "duration": 0.011713170999996692}, "setup": {"outcome": "passed", "duration": 0.0003263140000058229}, "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.00018485700002202066}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022920670000416976, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 1328, in test_verify\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032521100001758896}, "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.0001891960000079962}}, {"call": {"outcome": "passed", "duration": 0.00038660600000639533}, "setup": {"outcome": "passed", "duration": 0.00029580599999690094}, "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.00017568999999184598}}, {"call": {"outcome": "passed", "duration": 0.001133178999964457}, "setup": {"outcome": "passed", "duration": 0.0002975890000129766}, "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.00018092999999907988}}, {"call": {"outcome": "passed", "duration": 0.009158721000005698}, "setup": {"outcome": "passed", "duration": 0.0003118659999472584}, "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.0001847670000074686}}, {"call": {"outcome": "passed", "duration": 0.0045245320000049105}, "setup": {"outcome": "passed", "duration": 0.000304691999986062}, "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.00018272299996624497}}, {"call": {"outcome": "passed", "duration": 0.002223147999984576}, "setup": {"outcome": "passed", "duration": 0.0003198900000143112}, "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.0001825130000270292}}, {"call": {"outcome": "passed", "duration": 0.0005892870000252515}, "setup": {"outcome": "passed", "duration": 0.0003014160000134325}, "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.00017735400001583912}}, {"call": {"outcome": "passed", "duration": 0.058163527999965936}, "setup": {"outcome": "passed", "duration": 0.0002930910000031872}, "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.00022487199998977303}}, {"call": {"outcome": "passed", "duration": 0.06331803400001945}, "setup": {"outcome": "passed", "duration": 0.00040022299998554445}, "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.00022983200000226134}}, {"call": {"outcome": "passed", "duration": 0.000544052999998712}, "setup": {"outcome": "passed", "duration": 0.000405762000013965}, "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.00019064800000023752}}, {"call": {"outcome": "passed", "duration": 0.001911522000000332}, "setup": {"outcome": "passed", "duration": 0.0003076379999811252}, "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.00018671100002620733}}, {"call": {"outcome": "passed", "duration": 0.0004377019999992626}, "setup": {"outcome": "passed", "duration": 0.0003263529999912862}, "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.0001975710000010622}}, {"call": {"outcome": "passed", "duration": 0.0012244409999766503}, "setup": {"outcome": "passed", "duration": 0.0002953750000074251}, "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.0001798080000412483}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023259409999809577, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 1577, in test_simulate_evalresp\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000319240000010268}, "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.0002245129999778328}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002338004000023375, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 1605, in test_issue_540\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032827699999415927}, "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.00020336200003612248}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020821929999783606, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 1636, in test_resample\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030667599997968864}, "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.00019900299997743787}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002025275999983478, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 1667, in test_method_chaining\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030583500000602726}, "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.00020636700003251462}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002350958000022274, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 1705, in test_skip_empty_trace\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000315584000020408}, "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.00020061700001861027}}, {"call": {"outcome": "passed", "duration": 0.00035302300000239484}, "setup": {"outcome": "passed", "duration": 0.00030105600001206767}, "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.00017478800003800643}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020599210000114, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 1734, in test_remove_response\n    tr1 = read()[0]\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002866390000235697}, "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.00019628900002999217}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002274664000026405, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 1750, in test_remove_polynomial_response\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007752470000355061}, "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.00019914399996423526}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020664630000055695, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 1785, in test_processing_info_remove_response_and_sensitivity\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030562499995312464}, "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.000203271999964727}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002003043999991405, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 1825, in test_processing_information\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030358000003616326}, "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.00020524600000726423}}, {"call": {"outcome": "passed", "duration": 0.0016740359999971588}, "setup": {"outcome": "passed", "duration": 0.0003167250000046806}, "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.00018857499998148342}}, {"call": {"outcome": "passed", "duration": 0.0002933910000137985}, "setup": {"outcome": "passed", "duration": 0.00031659400002581606}, "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.00018604900003538205}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.006229996999991272, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 1907, in test_interpolate\n    org_tr = read(\"/path/to/%s\" % file_, round_sampling_interval=False)[0]\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002922390000321684}, "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.0002052359999993314}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020999660000029508, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 1983, in test_interpolation_time_shift\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030066499999747975}, "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.0002002760000436865}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002035664999993969, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 2047, in test_interpolation_arguments\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003023680000069362}, "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.00019120900003599672}}, {"call": {"outcome": "passed", "duration": 0.016661549999980707}, "setup": {"outcome": "passed", "duration": 0.0003017469999804234}, "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.0002212059999919802}}, {"call": {"outcome": "passed", "duration": 0.012310111999966011}, "setup": {"outcome": "passed", "duration": 0.00031555299995034147}, "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.00019220199999381293}}, {"call": {"outcome": "passed", "duration": 0.002032960999997613}, "setup": {"outcome": "passed", "duration": 0.0003135100000122293}, "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.00019406399997023982}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012779610000279717, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 2292, in test_remove_response_plot\n    tr = read(\"/path/to/IU_ULN_00_LH1_2015-07-18T02.mseed\")[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004653350000012324}, "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.0004520090000141863}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004549499000006563, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 2302, in test_remove_response_default_units\n    tr = read(\"/path/to/1T_MONN_00_EDH.mseed\")[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033678400001235786}, "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.00021088599999075086}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022093310000173005, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 2308, in test_attach_response_deprecated\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000307227000007515}, "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.00019403400000328475}}, {"call": {"outcome": "passed", "duration": 0.004002720999949361}, "setup": {"outcome": "passed", "duration": 0.0003174970000259236}, "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.00018565900001021873}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00229297900000347, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 2420, in test_dtype_is_not_unnecessarily_changed\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002982909999786898}, "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.00019561699997439064}}, {"call": {"outcome": "passed", "duration": 0.0005374500000243643}, "setup": {"outcome": "passed", "duration": 0.00031831799998371935}, "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.00019589799995856083}}, {"call": {"outcome": "passed", "duration": 0.0003865959999984625}, "setup": {"outcome": "passed", "duration": 0.0002941029999874445}, "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.00018087000000832631}}, {"call": {"outcome": "passed", "duration": 0.0006220489999577694}, "setup": {"outcome": "passed", "duration": 0.0002953649999994923}, "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.00018114099998456368}}, {"call": {"outcome": "passed", "duration": 0.0008430249999946682}, "setup": {"outcome": "passed", "duration": 0.0003169949999914934}, "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.00018187200004149418}}, {"call": {"outcome": "passed", "duration": 0.0008282860000008441}, "setup": {"outcome": "passed", "duration": 0.0003296190000128263}, "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.00018139099995551078}}, {"call": {"outcome": "passed", "duration": 0.00041309599998839985}, "setup": {"outcome": "passed", "duration": 0.0003218140000171843}, "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.00018015899996726148}}, {"call": {"outcome": "passed", "duration": 0.00038936199996442156}, "setup": {"outcome": "passed", "duration": 0.0002981100000170045}, "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.00017683299995496782}}, {"call": {"outcome": "passed", "duration": 0.000960894999991524}, "setup": {"outcome": "passed", "duration": 0.00029549499998893225}, "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.00018393499999547203}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022991100000240294, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_trace.py\", line 2728, in test_long_processing_list\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000295064999988881}, "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.00019653999999036387}}, {"call": {"outcome": "passed", "duration": 0.14454145400003426}, "setup": {"outcome": "passed", "duration": 0.00030192799999895215}, "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.00034146199999440796}}, {"call": {"outcome": "passed", "duration": 0.001593724999963797}, "setup": {"outcome": "passed", "duration": 0.000485652999998365}, "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.00021942199998647993}}, {"call": {"outcome": "passed", "duration": 0.0006625850000432365}, "setup": {"outcome": "passed", "duration": 0.00030066499999747975}, "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.0001780540000027031}}, {"call": {"outcome": "passed", "duration": 0.00037458399998513414}, "setup": {"outcome": "passed", "duration": 0.00029345199999397664}, "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.00017507999996269064}}, {"call": {"outcome": "passed", "duration": 0.000322355999969659}, "setup": {"outcome": "passed", "duration": 0.0003112649999934547}, "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.00017779400002382317}}, {"call": {"outcome": "passed", "duration": 0.002419476999989456}, "setup": {"outcome": "passed", "duration": 0.00029207900001892995}, "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.00018110000002025117}}, {"call": {"outcome": "passed", "duration": 0.003233986999987337}, "setup": {"outcome": "passed", "duration": 0.0003153119999979026}, "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.0001987339999800497}}, {"call": {"outcome": "passed", "duration": 0.003266488000008394}, "setup": {"outcome": "passed", "duration": 0.0002995930000224689}, "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.00018299300000990115}}, {"call": {"outcome": "passed", "duration": 0.00038267899998345456}, "setup": {"outcome": "passed", "duration": 0.0003231970000001638}, "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.00020199000005050038}}, {"call": {"outcome": "passed", "duration": 0.0003135900000188485}, "setup": {"outcome": "passed", "duration": 0.00029141799996068585}, "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.00017493899997589324}}, {"call": {"outcome": "passed", "duration": 0.0005864629999905446}, "setup": {"outcome": "passed", "duration": 0.000305884999988848}, "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.00017830500001991823}}, {"call": {"outcome": "passed", "duration": 0.00038034499999639593}, "setup": {"outcome": "passed", "duration": 0.0002984010000091075}, "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.0001753089999851909}}, {"call": {"outcome": "passed", "duration": 0.00026240300002200456}, "setup": {"outcome": "passed", "duration": 0.00029328099998338075}, "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.0001746690000459239}}, {"call": {"outcome": "passed", "duration": 0.000253837000002477}, "setup": {"outcome": "passed", "duration": 0.00028477499995460676}, "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.00017782399999077825}}, {"call": {"outcome": "passed", "duration": 0.0008415620000050694}, "setup": {"outcome": "passed", "duration": 0.0002869389999773375}, "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.00017796399998815104}}, {"call": {"outcome": "passed", "duration": 0.00039202599998588994}, "setup": {"outcome": "passed", "duration": 0.00029228900001498914}, "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.00017865600000277482}}, {"call": {"outcome": "passed", "duration": 0.00036628899999868736}, "setup": {"outcome": "passed", "duration": 0.0002868890000513602}, "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.00017627099998662743}}, {"call": {"outcome": "passed", "duration": 0.0005890670000212594}, "setup": {"outcome": "passed", "duration": 0.0002898050000226249}, "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.00017705199996953525}}, {"call": {"outcome": "passed", "duration": 0.00031023200000390716}, "setup": {"outcome": "passed", "duration": 0.00030786899998247463}, "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.00019249199999649136}}, {"call": {"outcome": "passed", "duration": 0.00039006299999755356}, "setup": {"outcome": "passed", "duration": 0.0002844050000021525}, "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.0001788960000226325}}, {"call": {"outcome": "passed", "duration": 0.0005224419999763086}, "setup": {"outcome": "passed", "duration": 0.00030454199998075637}, "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.0001783650000106718}}, {"call": {"outcome": "passed", "duration": 0.0004714259999900605}, "setup": {"outcome": "passed", "duration": 0.00028206000001773646}, "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.00017195399999536676}}, {"call": {"outcome": "passed", "duration": 0.00040359899998065885}, "setup": {"outcome": "passed", "duration": 0.00028722999996944054}, "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.00017366600002333143}}, {"call": {"outcome": "passed", "duration": 0.00042083099998535545}, "setup": {"outcome": "passed", "duration": 0.00030449199999793564}, "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.0001998249999815016}}, {"call": {"outcome": "passed", "duration": 0.0008049730000152522}, "setup": {"outcome": "passed", "duration": 0.00028658900004074894}, "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.00019431500004429836}}, {"call": {"outcome": "passed", "duration": 0.0005614149999928486}, "setup": {"outcome": "passed", "duration": 0.0002901049999763927}, "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.00017697300000918403}}, {"call": {"outcome": "passed", "duration": 0.0005535399999985202}, "setup": {"outcome": "passed", "duration": 0.00028635799998255607}, "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.00017122099995958706}}, {"call": {"outcome": "passed", "duration": 0.0007524040000248533}, "setup": {"outcome": "passed", "duration": 0.00029953300003171535}, "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.00017465799999172305}}, {"call": {"outcome": "passed", "duration": 0.0007497690000377588}, "setup": {"outcome": "passed", "duration": 0.00038869100001193146}, "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.0001733759999638096}}, {"call": {"outcome": "passed", "duration": 0.0007603789999848232}, "setup": {"outcome": "passed", "duration": 0.0002812390000030973}, "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.00017336600001272018}}, {"call": {"outcome": "passed", "duration": 0.0007493479999993724}, "setup": {"outcome": "passed", "duration": 0.0002826109999887194}, "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.00018595000000232176}}, {"call": {"outcome": "passed", "duration": 0.00032200499998680243}, "setup": {"outcome": "passed", "duration": 0.00028874299999870345}, "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.00017730300004359378}}, {"call": {"outcome": "passed", "duration": 0.0002470440000479357}, "setup": {"outcome": "passed", "duration": 0.0003021679999619664}, "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.0001789670000107435}}, {"call": {"outcome": "passed", "duration": 0.00028206100000716106}, "setup": {"outcome": "passed", "duration": 0.00028103800002554635}, "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.00016240500002595581}}, {"call": {"outcome": "passed", "duration": 0.000555995000013354}, "setup": {"outcome": "passed", "duration": 0.0002988809999919795}, "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.0001825830000257156}}, {"call": {"outcome": "passed", "duration": 0.0002887930000383676}, "setup": {"outcome": "passed", "duration": 0.0002922390000321684}, "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.00016462900003944014}}, {"call": {"outcome": "passed", "duration": 0.0006512840000141296}, "setup": {"outcome": "passed", "duration": 0.00030305000001362714}, "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.00016602099998408448}}, {"call": {"outcome": "passed", "duration": 0.0006030029999806175}, "setup": {"outcome": "passed", "duration": 0.00028329200000598576}, "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.0001824830000032307}}, {"call": {"outcome": "passed", "duration": 0.0024103400000399233}, "setup": {"outcome": "passed", "duration": 0.0002828810000323756}, "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.00017489800001158073}}, {"call": {"outcome": "passed", "duration": 0.0003761969999800385}, "setup": {"outcome": "passed", "duration": 0.0003026180000347267}, "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.0001720030000456063}}, {"call": {"outcome": "passed", "duration": 0.00023640400002022943}, "setup": {"outcome": "passed", "duration": 0.000289925000004132}, "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.00016529100003026542}}, {"call": {"outcome": "passed", "duration": 0.00024724499996864324}, "setup": {"outcome": "passed", "duration": 0.0003038510000124006}, "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.00026134099999808313}}, {"call": {"outcome": "passed", "duration": 0.00027671999998801766}, "setup": {"outcome": "passed", "duration": 0.00028849200003833175}, "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.00016480900001170085}}, {"call": {"outcome": "passed", "duration": 0.00029405199995835574}, "setup": {"outcome": "passed", "duration": 0.00030484199999136763}, "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.00016793599996844932}}, {"call": {"outcome": "passed", "duration": 0.0010585489999925812}, "setup": {"outcome": "passed", "duration": 0.00028838100001848943}, "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.00017339600003651867}}, {"call": {"outcome": "passed", "duration": 0.0003328249999867694}, "setup": {"outcome": "passed", "duration": 0.0002881009999669004}, "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.00016672399999606569}}, {"call": {"outcome": "passed", "duration": 0.00037644700000782905}, "setup": {"outcome": "passed", "duration": 0.0002861970000367364}, "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.00016888700002937185}}, {"call": {"outcome": "passed", "duration": 0.08237008499997955}, "setup": {"outcome": "passed", "duration": 0.0002821410000137803}, "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.00023489099999096652}}, {"call": {"outcome": "passed", "duration": 0.0005792289999817513}, "setup": {"outcome": "passed", "duration": 0.00036586800001714437}, "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.00017768399999340545}}, {"call": {"outcome": "passed", "duration": 0.0008808750000071086}, "setup": {"outcome": "passed", "duration": 0.00029349099997943995}, "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.00018628999998782092}}, {"call": {"outcome": "passed", "duration": 0.0004952200000047924}, "setup": {"outcome": "passed", "duration": 0.0003024380000056226}, "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.0001737560000378835}}, {"call": {"outcome": "passed", "duration": 0.0006633469999997033}, "setup": {"outcome": "passed", "duration": 0.00030814899997722023}, "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.00017462900001419257}}, {"call": {"outcome": "passed", "duration": 0.00029841100001704035}, "setup": {"outcome": "passed", "duration": 0.0003061749999915264}, "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.0001723240000046644}}, {"call": {"outcome": "passed", "duration": 0.0004049609999583481}, "setup": {"outcome": "passed", "duration": 0.00038932199998953365}, "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.00017452800000228308}}, {"call": {"outcome": "passed", "duration": 0.00043334499997627063}, "setup": {"outcome": "passed", "duration": 0.00030741800003397657}, "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.00018936599997232406}}, {"call": {"outcome": "passed", "duration": 0.0002957149999929243}, "setup": {"outcome": "passed", "duration": 0.0002857769999877746}, "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.00017188300000725576}}, {"call": {"outcome": "passed", "duration": 0.00031645400002844326}, "setup": {"outcome": "passed", "duration": 0.00033709399997405853}, "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.0001720429999636508}}, {"call": {"outcome": "passed", "duration": 0.0004832980000060161}, "setup": {"outcome": "passed", "duration": 0.0002876709999668492}, "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.00017436699999962002}}, {"call": {"outcome": "passed", "duration": 0.0003352500000346481}, "setup": {"outcome": "passed", "duration": 0.00030454199998075637}, "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.0001901470000120753}}, {"call": {"outcome": "passed", "duration": 0.00528347799996709}, "setup": {"outcome": "passed", "duration": 0.00028252099997416735}, "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.0001807590000453274}}, {"call": {"outcome": "passed", "duration": 0.0003684529999645747}, "setup": {"outcome": "passed", "duration": 0.0003120359999684297}, "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.00019107899998971334}}, {"call": {"outcome": "passed", "duration": 0.001573747000009007}, "setup": {"outcome": "passed", "duration": 0.00028399299998227434}, "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.0001797069999724954}}, {"call": {"outcome": "passed", "duration": 0.0002568630000041594}, "setup": {"outcome": "passed", "duration": 0.0002926600000137114}, "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.0001751689999878181}}, {"call": {"outcome": "passed", "duration": 0.0003528640000354244}, "setup": {"outcome": "passed", "duration": 0.0002831320000495907}, "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.00017262500000470027}}, {"call": {"outcome": "passed", "duration": 0.0002546480000091833}, "setup": {"outcome": "passed", "duration": 0.00028736999996681334}, "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.00019059800001741678}}, {"call": {"outcome": "passed", "duration": 0.00029176799995411784}, "setup": {"outcome": "passed", "duration": 0.0002799750000122003}, "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.0001705200000401419}}, {"call": {"outcome": "passed", "duration": 0.0010926040000072135}, "setup": {"outcome": "passed", "duration": 0.0003028190000122777}, "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.00017851500001597742}}, {"call": {"outcome": "passed", "duration": 0.00030938099996546953}, "setup": {"outcome": "passed", "duration": 0.00029102700000294135}, "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.00016986899998983063}}, {"call": {"outcome": "passed", "duration": 0.0003853039999626162}, "setup": {"outcome": "passed", "duration": 0.0002851360000022396}, "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.0001701390000334868}}, {"call": {"outcome": "passed", "duration": 0.0007577950000268174}, "setup": {"outcome": "passed", "duration": 0.00028761999999460386}, "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.00016509999994696045}}, {"call": {"outcome": "passed", "duration": 0.0006013699999698474}, "setup": {"outcome": "passed", "duration": 0.0003064150000113841}, "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.00016874799996458023}}, {"call": {"outcome": "passed", "duration": 0.0002826410000125179}, "setup": {"outcome": "passed", "duration": 0.0003058149999901616}, "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.00016421899999841116}}, {"call": {"outcome": "passed", "duration": 0.0008894320000081279}, "setup": {"outcome": "passed", "duration": 0.0002846549999730996}, "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.00016636300000527626}}, {"call": {"outcome": "passed", "duration": 0.0004989579999801208}, "setup": {"outcome": "passed", "duration": 0.00028740999999854466}, "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.00016582099999595812}}, {"call": {"outcome": "passed", "duration": 0.0005576479999831463}, "setup": {"outcome": "passed", "duration": 0.0003050429999689186}, "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.0001710909999701471}}, {"call": {"outcome": "passed", "duration": 0.000386144999993121}, "setup": {"outcome": "passed", "duration": 0.0004035380000004807}, "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.0001963390000128129}}, {"call": {"outcome": "passed", "duration": 0.00036860299996988033}, "setup": {"outcome": "passed", "duration": 0.0003891309999630721}, "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.00018694099998128877}}, {"call": {"outcome": "passed", "duration": 0.00034321499998668514}, "setup": {"outcome": "passed", "duration": 0.0004037279999806742}, "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.0002051560000495556}}, {"call": {"outcome": "passed", "duration": 0.00034796399995684624}, "setup": {"outcome": "passed", "duration": 0.0003813470000295638}, "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.00018640000001823864}}, {"call": {"outcome": "passed", "duration": 0.0003421129999878758}, "setup": {"outcome": "passed", "duration": 0.00038098599998193095}, "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.00018657099997199111}}, {"call": {"outcome": "passed", "duration": 0.0003405300000167699}, "setup": {"outcome": "passed", "duration": 0.00039326799998207207}, "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.00018478799995591544}}, {"call": {"outcome": "passed", "duration": 0.00035911499998064755}, "setup": {"outcome": "passed", "duration": 0.00037999400001353933}, "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.00018521800001281008}}, {"call": {"outcome": "passed", "duration": 0.00034620100001347964}, "setup": {"outcome": "passed", "duration": 0.0003978579999852627}, "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.00021299999997381747}}, {"call": {"outcome": "passed", "duration": 0.0003421829999865622}, "setup": {"outcome": "passed", "duration": 0.0003796940000029281}, "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.00018728199995621253}}, {"call": {"outcome": "passed", "duration": 0.0003582830000254944}, "setup": {"outcome": "passed", "duration": 0.0003851239999903555}, "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.00019125000000030923}}, {"call": {"outcome": "passed", "duration": 0.0003404999999929714}, "setup": {"outcome": "passed", "duration": 0.0004018949999817778}, "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.00020127799996316753}}, {"call": {"outcome": "passed", "duration": 0.0003626810000127989}, "setup": {"outcome": "passed", "duration": 0.00038116599995419165}, "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.0001855079999586451}}, {"call": {"outcome": "passed", "duration": 0.00034234299999980067}, "setup": {"outcome": "passed", "duration": 0.00040086299998165487}, "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.0001869509999892216}}, {"call": {"outcome": "passed", "duration": 0.0003497370000218325}, "setup": {"outcome": "passed", "duration": 0.00039094499999237087}, "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.0001840659999743366}}, {"call": {"outcome": "passed", "duration": 0.0003625109999916276}, "setup": {"outcome": "passed", "duration": 0.00037895200000548357}, "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.0001858589999983451}}, {"call": {"outcome": "passed", "duration": 0.00034395600005154847}, "setup": {"outcome": "passed", "duration": 0.00040004200002385915}, "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.00020302099994751188}}, {"call": {"outcome": "passed", "duration": 0.0003622709999717699}, "setup": {"outcome": "passed", "duration": 0.0003770989999907215}, "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.00018766300001971103}}, {"call": {"outcome": "passed", "duration": 0.0003445379999789111}, "setup": {"outcome": "passed", "duration": 0.0004421909999905438}, "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.0001876130000368903}}, {"call": {"outcome": "passed", "duration": 0.00034198299999843584}, "setup": {"outcome": "passed", "duration": 0.0003961649999837391}, "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.0001861400000393587}}, {"call": {"outcome": "passed", "duration": 0.00035974600001509316}, "setup": {"outcome": "passed", "duration": 0.00037985300002674194}, "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.0001853980000419142}}, {"call": {"outcome": "passed", "duration": 0.0003392570000073647}, "setup": {"outcome": "passed", "duration": 0.00039750700000240613}, "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.00020204899999498593}}, {"call": {"outcome": "passed", "duration": 0.0003448880000291865}, "setup": {"outcome": "passed", "duration": 0.0003772489999960271}, "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.00018597000001818742}}, {"call": {"outcome": "passed", "duration": 0.0003587340000308359}, "setup": {"outcome": "passed", "duration": 0.00038151699999389166}, "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.00019026699999358243}}, {"call": {"outcome": "passed", "duration": 0.00034718300003078184}, "setup": {"outcome": "passed", "duration": 0.0004035480000084135}, "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.0002053459999729057}}, {"call": {"outcome": "passed", "duration": 0.00036041800001385127}, "setup": {"outcome": "passed", "duration": 0.00038235900001382106}, "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.00018397600001662795}}, {"call": {"outcome": "passed", "duration": 0.0003408199999626049}, "setup": {"outcome": "passed", "duration": 0.0003969560000314232}, "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.00018829399999731322}}, {"call": {"outcome": "passed", "duration": 0.0003419220000182577}, "setup": {"outcome": "passed", "duration": 0.00038006400001222573}, "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.00018435599997701502}}, {"call": {"outcome": "passed", "duration": 0.0003613089999703334}, "setup": {"outcome": "passed", "duration": 0.0003796029999989514}, "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.00018722099997603436}}, {"call": {"outcome": "passed", "duration": 0.0003431249999721331}, "setup": {"outcome": "passed", "duration": 0.00040170500000158427}, "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.00020324199999777193}}, {"call": {"outcome": "passed", "duration": 0.0003676009999935559}, "setup": {"outcome": "passed", "duration": 0.0003750249999825428}, "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.00018859499999734908}}, {"call": {"outcome": "passed", "duration": 0.00034873500004550806}, "setup": {"outcome": "passed", "duration": 0.00038274899998214096}, "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.00018683100000771447}}, {"call": {"outcome": "passed", "duration": 0.00034240399997997883}, "setup": {"outcome": "passed", "duration": 0.00039839800001573167}, "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.00018493700002863989}}, {"call": {"outcome": "passed", "duration": 0.0003617399999598092}, "setup": {"outcome": "passed", "duration": 0.0003761570000051506}, "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.00018517800003792217}}, {"call": {"outcome": "passed", "duration": 0.00034209300002885357}, "setup": {"outcome": "passed", "duration": 0.0003981280000289189}, "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.0002045649999899979}}, {"call": {"outcome": "passed", "duration": 0.0003433050000012372}, "setup": {"outcome": "passed", "duration": 0.00037655800002767137}, "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.00018662000002223067}}, {"call": {"outcome": "passed", "duration": 0.0005176029999915954}, "setup": {"outcome": "passed", "duration": 0.00037789999998949497}, "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.00019330300000319767}}, {"call": {"outcome": "passed", "duration": 0.00035324399999581146}, "setup": {"outcome": "passed", "duration": 0.0004080859999930908}, "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.00018963600001598024}}, {"call": {"outcome": "passed", "duration": 0.0003478840000070704}, "setup": {"outcome": "passed", "duration": 0.00038503399997580345}, "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.00018747199999324948}}, {"call": {"outcome": "passed", "duration": 0.00036122899996371416}, "setup": {"outcome": "passed", "duration": 0.00037750899997490706}, "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.0002554899999722693}}, {"call": {"outcome": "passed", "duration": 0.00034642199995005285}, "setup": {"outcome": "passed", "duration": 0.00040387900003224786}, "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.00019157999997787556}}, {"call": {"outcome": "passed", "duration": 0.00034244399995486674}, "setup": {"outcome": "passed", "duration": 0.00038081599996075965}, "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.0001858890000221436}}, {"call": {"outcome": "passed", "duration": 0.0003596649999622059}, "setup": {"outcome": "passed", "duration": 0.00038225800000191157}, "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.00018698099995617667}}, {"call": {"outcome": "passed", "duration": 0.0003493959999900653}, "setup": {"outcome": "passed", "duration": 0.0003988799999774528}, "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.00020528499999272753}}, {"call": {"outcome": "passed", "duration": 0.0003628519999665514}, "setup": {"outcome": "passed", "duration": 0.00043324400002120456}, "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.0001880030000052102}}, {"call": {"outcome": "passed", "duration": 0.00037064599996483594}, "setup": {"outcome": "passed", "duration": 0.0003798039999765024}, "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.00019087900000158697}}, {"call": {"outcome": "passed", "duration": 0.00034737299995413196}, "setup": {"outcome": "passed", "duration": 0.0004048510000416172}, "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.00020475400003761024}}, {"call": {"outcome": "passed", "duration": 0.0003610389999835206}, "setup": {"outcome": "passed", "duration": 0.000377479000007952}, "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.00018282399997815446}}, {"call": {"outcome": "passed", "duration": 0.0003445379999789111}, "setup": {"outcome": "passed", "duration": 0.00038141699997140677}, "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.0001889850000225124}}, {"call": {"outcome": "passed", "duration": 0.0003455600000279446}, "setup": {"outcome": "passed", "duration": 0.00037788999998156214}, "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.00018822399999862682}}, {"call": {"outcome": "passed", "duration": 0.00036819199999627017}, "setup": {"outcome": "passed", "duration": 0.00038327000004301226}, "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.0001850479999916388}}, {"call": {"outcome": "passed", "duration": 0.0004787789999909364}, "setup": {"outcome": "passed", "duration": 0.000541446999989148}, "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.00019266200001766265}}, {"call": {"outcome": "passed", "duration": 0.00034849499996880695}, "setup": {"outcome": "passed", "duration": 0.00041206400004512034}, "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.0002074899999797708}}, {"call": {"outcome": "passed", "duration": 0.00036628899999868736}, "setup": {"outcome": "passed", "duration": 0.0003901829999790607}, "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.0001853980000419142}}, {"call": {"outcome": "passed", "duration": 0.0003422829999522037}, "setup": {"outcome": "passed", "duration": 0.0003806159999726333}, "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.0001869410000381322}}, {"call": {"outcome": "passed", "duration": 0.00034804399996346547}, "setup": {"outcome": "passed", "duration": 0.00040264599999773054}, "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.00018624000000500018}}, {"call": {"outcome": "passed", "duration": 0.00037385299998504706}, "setup": {"outcome": "passed", "duration": 0.00038259899997683533}, "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.00019492600000603488}}, {"call": {"outcome": "passed", "duration": 0.0003508689999875969}, "setup": {"outcome": "passed", "duration": 0.00040444999996225306}, "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.00021046500000920787}}, {"call": {"outcome": "passed", "duration": 0.0003576209999778257}, "setup": {"outcome": "passed", "duration": 0.000478197999996155}, "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.0001859289999970315}}, {"call": {"outcome": "passed", "duration": 0.0003665190000106122}, "setup": {"outcome": "passed", "duration": 0.0003811060000202815}, "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.00018748200000118231}}, {"call": {"outcome": "passed", "duration": 0.0003515610000022207}, "setup": {"outcome": "passed", "duration": 0.00040504100002181076}, "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.00020954399997208384}}, {"call": {"outcome": "passed", "duration": 0.0003467220000175075}, "setup": {"outcome": "passed", "duration": 0.0003797740000095473}, "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.000191519999987122}}, {"call": {"outcome": "passed", "duration": 0.00033991899999819}, "setup": {"outcome": "passed", "duration": 0.0003792829999724745}, "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.00018510799998239236}}, {"call": {"outcome": "passed", "duration": 0.0003475930000149674}, "setup": {"outcome": "passed", "duration": 0.0003950419999796395}, "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.00018674100005000582}}, {"call": {"outcome": "passed", "duration": 0.00036955500002022745}, "setup": {"outcome": "passed", "duration": 0.00038319000003639303}, "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.00018588000000363536}}, {"call": {"outcome": "passed", "duration": 0.0003417319999812207}, "setup": {"outcome": "passed", "duration": 0.0004030170000532962}, "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.00020409299997936614}}, {"call": {"outcome": "passed", "duration": 0.0003570609999883345}, "setup": {"outcome": "passed", "duration": 0.0003753350000010869}, "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.00018639100005657383}}, {"call": {"outcome": "passed", "duration": 0.0003625310000074933}, "setup": {"outcome": "passed", "duration": 0.000382618999992701}, "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.0001856790000260844}}, {"call": {"outcome": "passed", "duration": 0.000343865999980153}, "setup": {"outcome": "passed", "duration": 0.00039702600003010957}, "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.00020512599996891367}}, {"call": {"outcome": "passed", "duration": 0.00036536699997213873}, "setup": {"outcome": "passed", "duration": 0.00037810999998555417}, "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.00018819399997482833}}, {"call": {"outcome": "passed", "duration": 0.00034655100000691164}, "setup": {"outcome": "passed", "duration": 0.0004414590000010321}, "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.00018693100003019936}}, {"call": {"outcome": "passed", "duration": 0.0003454899999724148}, "setup": {"outcome": "passed", "duration": 0.0004030179999858774}, "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.00018526799999563082}}, {"call": {"outcome": "passed", "duration": 0.0003631829999903857}, "setup": {"outcome": "passed", "duration": 0.000380374999963351}, "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.0001854390000062267}}, {"call": {"outcome": "passed", "duration": 0.00034392600002775}, "setup": {"outcome": "passed", "duration": 0.0003993600000171682}, "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.0001884650000079091}}, {"call": {"outcome": "passed", "duration": 0.00034560900002134076}, "setup": {"outcome": "passed", "duration": 0.00038175700001374935}, "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.0001876219999985551}}, {"call": {"outcome": "passed", "duration": 0.0003632330000300499}, "setup": {"outcome": "passed", "duration": 0.00038077499999644715}, "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.00018604999996796323}}, {"call": {"outcome": "passed", "duration": 0.0003419029999918166}, "setup": {"outcome": "passed", "duration": 0.00040099400001736285}, "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.00020324199999777193}}, {"call": {"outcome": "passed", "duration": 0.0004079169999613441}, "setup": {"outcome": "passed", "duration": 0.00037483400001292466}, "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.00018493699997179647}}, {"call": {"outcome": "passed", "duration": 0.0003395780000232662}, "setup": {"outcome": "passed", "duration": 0.0003793929999460488}, "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.00018906500002913162}}, {"call": {"outcome": "passed", "duration": 0.00034500900000011825}, "setup": {"outcome": "passed", "duration": 0.0003960839999876953}, "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.0001859299999864561}}, {"call": {"outcome": "passed", "duration": 0.00035827399995014275}, "setup": {"outcome": "passed", "duration": 0.0003804149999950823}, "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.00018432600001005994}}, {"call": {"outcome": "passed", "duration": 0.0003449280000040744}, "setup": {"outcome": "passed", "duration": 0.0003997110000000248}, "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.0002084419999732745}}, {"call": {"outcome": "passed", "duration": 0.00036135900000999754}, "setup": {"outcome": "passed", "duration": 0.00037546499999052685}, "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.0001835749999941072}}, {"call": {"outcome": "passed", "duration": 0.0003397080000127062}, "setup": {"outcome": "passed", "duration": 0.0003765469999734705}, "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.00018572900000890513}}, {"call": {"outcome": "passed", "duration": 0.0003447480000318137}, "setup": {"outcome": "passed", "duration": 0.00040205599998444086}, "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.00018994700002394893}}, {"call": {"outcome": "passed", "duration": 0.0003174259999809692}, "setup": {"outcome": "passed", "duration": 0.00041506899998466906}, "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.00016709400000536334}}, {"call": {"outcome": "passed", "duration": 0.0002783430000476983}, "setup": {"outcome": "passed", "duration": 0.0002891130000080011}, "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.00016899700000294615}}, {"call": {"outcome": "passed", "duration": 0.0002810590000308366}, "setup": {"outcome": "passed", "duration": 0.000283242000023165}, "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.0001666929999828426}}, {"call": {"outcome": "passed", "duration": 0.00024647300000424366}, "setup": {"outcome": "passed", "duration": 0.00030209800002012344}, "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.00017808399996965818}}, {"call": {"outcome": "passed", "duration": 0.0002902649999896312}, "setup": {"outcome": "passed", "duration": 0.0002857970000036403}, "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.00016348700000889949}}, {"call": {"outcome": "passed", "duration": 0.00027383399998370805}, "setup": {"outcome": "passed", "duration": 0.0003020770000148332}, "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.00016330699997979536}}, {"call": {"outcome": "passed", "duration": 0.00030410200002961574}, "setup": {"outcome": "passed", "duration": 0.00028163899997935005}, "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.00017779400002382317}}, {"call": {"outcome": "passed", "duration": 0.0002674419999948441}, "setup": {"outcome": "passed", "duration": 0.0002856369999904018}, "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.00016344799996659276}}, {"call": {"outcome": "passed", "duration": 0.0003068270000312623}, "setup": {"outcome": "passed", "duration": 0.0002851650000366135}, "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.00016598199999862118}}, {"call": {"outcome": "passed", "duration": 0.0005830750000086482}, "setup": {"outcome": "passed", "duration": 0.000282670999979473}, "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.0001704609999819695}}, {"call": {"outcome": "passed", "duration": 0.0002860179999970569}, "setup": {"outcome": "passed", "duration": 0.0002913269999567092}, "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.00016671299999870826}}, {"call": {"outcome": "passed", "duration": 0.0003605069999821353}, "setup": {"outcome": "passed", "duration": 0.0002843550000193318}, "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.00016817600004515043}}, {"call": {"outcome": "passed", "duration": 0.00023893900004168245}, "setup": {"outcome": "passed", "duration": 0.00029194899997264656}, "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.00017029000002821704}}, {"call": {"outcome": "passed", "duration": 0.00030421100001376544}, "setup": {"outcome": "passed", "duration": 0.0002837630000271929}, "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.00016361799998776405}}, {"call": {"outcome": "passed", "duration": 0.0003371839999886106}, "setup": {"outcome": "passed", "duration": 0.0002836529999967752}, "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.00017346600003520507}}, {"call": {"outcome": "passed", "duration": 0.002239848999977312}, "setup": {"outcome": "passed", "duration": 0.0004460680000306638}, "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.00019579799999291936}}, {"call": {"outcome": "passed", "duration": 0.0007311840000170378}, "setup": {"outcome": "passed", "duration": 0.0003005450000159726}, "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.00017231399999673158}}, {"call": {"outcome": "passed", "duration": 0.002627467000024808}, "setup": {"outcome": "passed", "duration": 0.000294353000015235}, "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.00017523000002483968}}, {"call": {"outcome": "passed", "duration": 0.0004787999999962267}, "setup": {"outcome": "passed", "duration": 0.00039488200002324447}, "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.0001720040000350309}}, {"call": {"outcome": "passed", "duration": 0.0008254109999938919}, "setup": {"outcome": "passed", "duration": 0.0004191269999864744}, "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.00017589000003681576}}, {"call": {"outcome": "passed", "duration": 0.00028835199998411554}, "setup": {"outcome": "passed", "duration": 0.0003018169999791098}, "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.00019305299997540715}}, {"call": {"outcome": "passed", "duration": 0.004616915999974935}, "setup": {"outcome": "passed", "duration": 0.0004348080000227128}, "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.00018162099996743564}}, {"call": {"outcome": "passed", "duration": 0.0003062859999545253}, "setup": {"outcome": "passed", "duration": 0.00044193100001166385}, "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.00019372399998474066}}, {"call": {"outcome": "passed", "duration": 0.0003592250000110653}, "setup": {"outcome": "passed", "duration": 0.00029415299997026523}, "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.00016782500000545042}}, {"call": {"outcome": "passed", "duration": 0.0002592179999965083}, "setup": {"outcome": "passed", "duration": 0.00031054300001187585}, "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.00018544900001415954}}, {"call": {"outcome": "passed", "duration": 0.00039533299997174254}, "setup": {"outcome": "passed", "duration": 0.0002889020000225173}, "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.00017262400001527567}}, {"call": {"outcome": "passed", "duration": 0.00045609700003979015}, "setup": {"outcome": "passed", "duration": 0.0003352499999778047}, "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.00017403699996521027}}, {"call": {"outcome": "passed", "duration": 0.0005041680000203996}, "setup": {"outcome": "passed", "duration": 0.0002926600000137114}, "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.00016716499999347434}}, {"call": {"outcome": "passed", "duration": 0.000390423999988343}, "setup": {"outcome": "passed", "duration": 0.0002968479999481133}, "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.00016569100000651815}}, {"call": {"outcome": "passed", "duration": 0.0003710180000098262}, "setup": {"outcome": "passed", "duration": 0.0003092310000170073}, "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.00018640100000766324}}, {"call": {"outcome": "passed", "duration": 0.0003336670000066988}, "setup": {"outcome": "passed", "duration": 0.0002867590000050768}, "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.0001640579999957481}}, {"call": {"outcome": "passed", "duration": 0.0003549470000052679}, "setup": {"outcome": "passed", "duration": 0.0003038410000044678}, "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.00016355700000758588}}, {"call": {"outcome": "passed", "duration": 0.00047449200002347425}, "setup": {"outcome": "passed", "duration": 0.0002855860000181565}, "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.00016622200001847887}}, {"call": {"outcome": "passed", "duration": 0.00031212599998298174}, "setup": {"outcome": "passed", "duration": 0.0003027490000135913}, "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.0001825530000019171}}, {"call": {"outcome": "passed", "duration": 0.0003727310000272155}, "setup": {"outcome": "passed", "duration": 0.00028575699997190895}, "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.00016417899996667984}}, {"call": {"outcome": "passed", "duration": 0.0005023639999990337}, "setup": {"outcome": "passed", "duration": 0.00030143600002929816}, "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.00017132199997149655}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003117778999978782, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_util_misc.py\", line 270, in test_entry_point_buffer\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028159999999388674}, "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.00019647899995334228}}, {"call": {"outcome": "passed", "duration": 0.0005327709999960462}, "setup": {"outcome": "passed", "duration": 0.0003051439999808281}, "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.00017068099998596153}}, {"call": {"outcome": "passed", "duration": 0.0002586559999713245}, "setup": {"outcome": "passed", "duration": 0.00031311899999764137}, "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.0001678160000437856}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021157259999995404, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_util_testing.py\", line 21, in test_identical_traces\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041851699995731906}, "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.00018985700000939687}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0032562989999860292, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_util_testing.py\", line 31, in test_slightly_modified_data\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003050139999913881}, "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.00020521600004030915}}, {"call": {"outcome": "passed", "duration": 0.0004888689999802409}, "setup": {"outcome": "passed", "duration": 0.00034096999996791055}, "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.000192221000020254}}, {"call": {"outcome": "passed", "duration": 0.0005561749999856147}, "setup": {"outcome": "passed", "duration": 0.00029018499998301195}, "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.00017030999998723928}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020841569999561216, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_util_testing.py\", line 58, in test_processing\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002952950000008059}, "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.00018820399998276116}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002078286000028129, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_util_testing.py\", line 71, in test_nan\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003045120000138013}, "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.00033069099998783713}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002458068999999341, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_util_testing.py\", line 80, in test_unequal_trace_lengths\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003809059999753117}, "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.0002102640000316569}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00206699400001753, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_util_testing.py\", line 88, in test_not_a_trace\n    tr1 = read()[0]\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031873899996526234}, "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.00020347200000969679}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020992350000028637, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_util_testing.py\", line 99, in test_stream_almost_equal\n    st1, st2 = read(), read()\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030614500002457135}, "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.00019477600000072925}}, {"call": {"outcome": "passed", "duration": 0.0004399169999942387}, "setup": {"outcome": "passed", "duration": 0.00037997399999767367}, "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.00017616200000247773}}, {"call": {"outcome": "passed", "duration": 0.0006957570000167834}, "setup": {"outcome": "passed", "duration": 0.0002989609999985987}, "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.0001807200000030207}}, {"call": {"outcome": "passed", "duration": 0.0002752569999984189}, "setup": {"outcome": "passed", "duration": 0.00031561299999793846}, "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.00017529899997725806}}, {"call": {"outcome": "passed", "duration": 0.0003675809999776902}, "setup": {"outcome": "passed", "duration": 0.00029630699998506316}, "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.00017658199999459612}}, {"call": {"outcome": "passed", "duration": 0.4272181249999676}, "setup": {"outcome": "passed", "duration": 0.0003758270000275843}, "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.00023490099999889935}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.21030043500002193, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 109, in test_read_and_write\n    st = read(outfile)\n         ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039132500000960135}, "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.0002475150000122994}}, {"call": {"outcome": "passed", "duration": 0.8916130670000371}, "setup": {"outcome": "passed", "duration": 0.00038804899998012843}, "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.0002525639999930718}}, {"call": {"outcome": "passed", "duration": 3.4922511489999692}, "setup": {"outcome": "passed", "duration": 0.00039034299999229916}, "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.0002260239999714031}}, {"call": {"outcome": "passed", "duration": 0.42664381000003004}, "setup": {"outcome": "passed", "duration": 0.0003722889999835388}, "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.00026049899997815373}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011707790000059504, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 397, in test_read_gzip2_file\n    st1 = read(ascii_path / 'tspair.ascii.gz')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005265890000032414}, "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.00022357000000283733}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012913250000110565, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 405, in test_read_bzip2_file\n    st1 = read(ascii_path / 'slist.ascii.bz2')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003395670000259088}, "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.00020549600003505475}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011848550000195246, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 414, in test_read_tar_archive\n    st1 = read(datapath / \"test.tar\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005333419999828948}, "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.0002029510000056689}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001137185999994017, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 434, in test_read_zip_archive\n    st1 = read(datapath / 'test.zip')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003829789999940658}, "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.0001986230000170508}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009392040000193447, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 448, in test_raise_on_unknown_format\n    read(tmpfile)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030260899995937507}, "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.00018902500005424372}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.4008390269999609, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 464, in test_deepcopy\n    stream_orig = read()\n                  ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030283900002814335}, "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.00027871300000015253}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.3263720539999895, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 509, in test_auto_file_format_during_writing\n    stream_trace = [read(), read()[0]]\n                    ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003581430000281216}, "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.000280225999972572}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014706320000072992, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 556, in test_reading_tarfile_impostor\n    st = read(\"/path/to/tarfile_impostor.mseed\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036050800002840333}, "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.00020268100001885614}}, {"call": {"outcome": "passed", "duration": 0.0076443660000222735}, "setup": {"outcome": "passed", "duration": 0.00032085299994832894}, "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.0002584060000003774}}, {"call": {"outcome": "passed", "duration": 0.005137528000034308}, "setup": {"outcome": "passed", "duration": 0.0004304479999746036}, "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.00023429100002658743}}, {"call": {"outcome": "passed", "duration": 0.003223875000003318}, "setup": {"outcome": "passed", "duration": 0.00040774500001816705}, "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.00019100899999102694}}, {"call": {"outcome": "failed", "duration": 0.005734809999978552, "longrepr": "569 \n570         :type num: int\n571         :param num: Number of samples in each trace in returned Stream. Last\n572             trace may contain lesser samples.\n573         :returns: New ObsPy Stream object.\n574 \n575         .. rubric:: Example\n576 \n577         >>> from obspy import read\n578         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.__mod__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/trace.py:578: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003590639999515588}, "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.00020729900001015267}}, {"call": {"outcome": "failed", "duration": 0.005687120000004597, "longrepr": "500         Create a new Stream containing num copies of this trace.\n501 \n502         :type num: int\n503         :param num: Number of copies.\n504         :returns: New ObsPy Stream object.\n505 \n506         .. rubric:: Example\n507 \n508         >>> from obspy import read\n509         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.__mul__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/trace.py:509: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00040359800004807767}, "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.0002062570000020969}}, {"call": {"outcome": "passed", "duration": 0.003132283000013558}, "setup": {"outcome": "passed", "duration": 0.00036663800000269475}, "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.00019857299997738664}}, {"call": {"outcome": "failed", "duration": 0.005934685999989142, "longrepr": "525 \n526         :type num: int\n527         :param num: Number of traces in returned Stream. Last trace may contain\n528             lesser samples.\n529         :returns: New ObsPy Stream object.\n530 \n531         .. rubric:: Example\n532 \n533         >>> from obspy import read\n534         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.__truediv__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/trace.py:534: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003501180000284876}, "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.00019322200000715384}}, {"call": {"outcome": "passed", "duration": 0.0031852629999775672}, "setup": {"outcome": "passed", "duration": 0.00033463900001606817}, "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.00018852399995239466}}, {"call": {"outcome": "passed", "duration": 0.003021133999993708}, "setup": {"outcome": "passed", "duration": 0.00034296399996947}, "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.00019350300004816745}}, {"call": {"outcome": "passed", "duration": 0.003027745999986564}, "setup": {"outcome": "passed", "duration": 0.0003268340000204262}, "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.00018454599995720855}}, {"call": {"outcome": "passed", "duration": 0.003217313000050126}, "setup": {"outcome": "passed", "duration": 0.00032486000003473237}, "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.0001932430000124441}}, {"call": {"outcome": "failed", "duration": 0.005471345999978894, "longrepr": "2025             Subtracts a spline of a given order with a given number of\n2026             samples between spline nodes.\n2027             (uses :func:`obspy.signal.detrend.spline`).\n2028 \n2029         .. rubric:: Example\n2030 \n2031         Apply a third order spline detrend with 500 samples between nodes.\n2032 \n2033         >>> from obspy import read\n2034         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.detrend[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/trace.py:2034: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003538939999998547}, "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.0002251430000228538}}, {"call": {"outcome": "failed", "duration": 0.005527572000005421, "longrepr": "1527             FIR-Lowpass (uses :func:`obspy.signal.filter.lowpass_fir`).\n1528 \n1529         ``'remez_fir'`` (experimental)\n1530             Minimax optimal bandpass using Remez algorithm (uses\n1531             :func:`obspy.signal.filter.remez_fir`).\n1532 \n1533         .. rubric:: Example\n1534 \n1535         >>> from obspy import read\n1536         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.filter[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/trace.py:1536: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034865400004946423}, "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.0002468839999778538}}, {"call": {"outcome": "passed", "duration": 0.0031626600000436156}, "setup": {"outcome": "passed", "duration": 0.00038562399998909314}, "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.0001880330000290087}}, {"call": {"outcome": "passed", "duration": 0.0028578669999888007}, "setup": {"outcome": "passed", "duration": 0.0007178779999890139}, "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.0002043239999807156}}, {"call": {"outcome": "failed", "duration": 0.005580489999999827, "longrepr": "2443         .. rubric:: _`New in version 0.11:`\n2444 \n2445         * New parameter ``time_shift``.\n2446         * New interpolation method ``lanczos``.\n2447 \n2448 \n2449         .. rubric:: _`Usage Examples`\n2450 \n2451         >>> from obspy import read\n2452         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.interpolate[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/trace.py:2452: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032180400000925147}, "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.0001971099999877879}}, {"call": {"outcome": "passed", "duration": 0.003043845999968653}, "setup": {"outcome": "passed", "duration": 0.0003316330000302514}, "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.00019287200001372184}}, {"call": {"outcome": "passed", "duration": 0.0039547669999819846}, "setup": {"outcome": "passed", "duration": 0.0003316330000302514}, "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.0002067879999572142}}, {"call": {"outcome": "failed", "duration": 0.005592363000005207, "longrepr": "918         Create a simple graph of the current trace.\n919 \n920         Various options are available to change the appearance of the waveform\n921         plot. Please see :meth:`~obspy.core.stream.Stream.plot` method for all\n922         possible options.\n923 \n924         .. rubric:: Example\n925 \n926         >>> from obspy import read\n927         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.plot[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/trace.py:927: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003595449999806988}, "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.00019903399999066096}}, {"call": {"outcome": "failed", "duration": 0.00584083000001101, "longrepr": "2731             response provided as\n2732             a (dataless) SEED or RESP file and when using the same\n2733             ``water_level`` and ``pre_filt`` (and options ``sacsim=True`` and\n2734             ``pitsasim=False`` which influence very minor details in detrending\n2735             and tapering).\n2736 \n2737         .. rubric:: Example\n2738 \n2739         >>> from obspy import read, read_inventory\n2740         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.remove_response[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/trace.py:2740: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003524420000076134}, "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.00025927699999783727}}, {"call": {"outcome": "failed", "duration": 0.006382245999986935, "longrepr": "3004         :type inventory: :class:`~obspy.core.inventory.inventory.Inventory`\n3005             or None.\n3006         :param inventory: Station metadata to use in search for adequate\n3007             response. If inventory parameter is not supplied, the response\n3008             has to be attached to the trace beforehand.\n3009 \n3010         .. rubric:: Example\n3011 \n3012         >>> from obspy import read, read_inventory\n3013         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.remove_sensitivity[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/trace.py:3013: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004074750000313543}, "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.00022817899997562563}}, {"call": {"outcome": "passed", "duration": 0.004368343999999524}, "setup": {"outcome": "passed", "duration": 0.00037229900004831507}, "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.0002061170000047241}}, {"call": {"outcome": "failed", "duration": 0.0059993570000074214, "longrepr": "1403             original data, use :meth:`~obspy.core.trace.Trace.copy` to create\n1404             a copy of your trace object.\n1405             This also makes an entry with information on the applied processing\n1406             in ``stats.processing`` of this trace.\n1407 \n1408         .. rubric:: Example\n1409 \n1410         >>> from obspy import read\n1411         >>> from obspy.signal.invsim import corn_freq_2_paz\n1412         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.simulate[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/trace.py:1412: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00037543499996672836}, "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.00022337000001471097}}, {"call": {"outcome": "passed", "duration": 0.003762736999988192}, "setup": {"outcome": "passed", "duration": 0.00035851299998057584}, "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.00019002699997372474}}, {"call": {"outcome": "failed", "duration": 0.005934254999999666, "longrepr": "1245         Please keep in mind that it only returns a new view of the original\n1246         data. Any modifications are applied to the original data as well. If\n1247         you don't want this you have to create a copy of the yielded\n1248         windows. Also be aware that if you modify the original data and you\n1249         have overlapping windows, all following windows are affected as well.\n1250 \n1251         .. rubric:: Example\n1252 \n1253         >>> import obspy\n1254         >>> tr = obspy.read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.slide[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/trace.py:1254: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003311319999852458}, "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.0002175789999796507}}, {"call": {"outcome": "failed", "duration": 0.005353813999988688, "longrepr": "943 \n944         Create a spectrogram plot of the trace.\n945 \n946         For details on kwargs that can be used to customize the spectrogram\n947         plot see :func:`~obspy.imaging.spectrogram.spectrogram`.\n948 \n949         .. rubric:: Example\n950 \n951         >>> from obspy import read\n952         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.spectrogram[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/trace.py:952: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003458699999896453}, "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.00018481699999028933}}, {"call": {"outcome": "passed", "duration": 0.0029935219999970286}, "setup": {"outcome": "passed", "duration": 0.00034747299997661685}, "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.00017702299999200477}}, {"call": {"outcome": "failed", "duration": 0.005159709999986717, "longrepr": "2542             and :func:`matplotlib.dates.date2num`, ``type=\"matplotlib\"``)\n2543 \n2544         .. note::\n2545             The option ``type=\"utcdatetime\"`` shouldn't be used for Traces with\n2546             a large sample size as it will generate an array of thousands of\n2547             :class:`UTCDateTime.timestamp <obspy.core.utcdatetime.UTCDateTime>`\n2548             objects.\n2549 \n2550         >>> from obspy import read, UTCDateTime\n2551         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.times[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/trace.py:2551: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031997100001035506}, "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.00018681100004869222}}, {"call": {"outcome": "failed", "duration": 0.005463661000021602, "longrepr": "1615             Computes the modified energy ratio characteristic function (uses\n1616             :func:`obspy.signal.trigger.modified_energy_ratio`).\n1617 \n1618         ``'zdetect'``\n1619             Z-detector (uses :func:`obspy.signal.trigger.z_detect`).\n1620 \n1621         .. rubric:: Example\n1622 \n1623         >>> from obspy import read\n1624         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.trigger[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/trace.py:1624: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031736599999021564}, "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.00018851400000130525}}, {"call": {"outcome": "passed", "duration": 0.0032735780000052728}, "setup": {"outcome": "passed", "duration": 0.0003247799999712697}, "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.00019128999997519713}}, {"call": {"outcome": "passed", "duration": 0.002982801999962703}, "setup": {"outcome": "passed", "duration": 0.0003388759999438662}, "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.0001893760000371003}}, {"call": {"outcome": "passed", "duration": 0.0025603579999824433}, "setup": {"outcome": "passed", "duration": 0.0003494559999808189}, "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.0001870520000011311}}, {"call": {"outcome": "passed", "duration": 0.005862379999996392}, "setup": {"outcome": "passed", "duration": 0.00041584100000591206}, "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.0001879729999814117}}, {"call": {"outcome": "passed", "duration": 0.0026336560000004283}, "setup": {"outcome": "passed", "duration": 0.00032045200003949503}, "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.00017205300002842705}}, {"call": {"outcome": "passed", "duration": 0.002657721000048241}, "setup": {"outcome": "passed", "duration": 0.0003369720000137022}, "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.00018198200001506848}}, {"call": {"outcome": "passed", "duration": 0.0025202730000160045}, "setup": {"outcome": "passed", "duration": 0.00033636199998454686}, "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.00020062699996969968}}, {"call": {"outcome": "passed", "duration": 0.0026770680000254288}, "setup": {"outcome": "passed", "duration": 0.00032288599999219514}, "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.00020697899998367575}}, {"call": {"outcome": "passed", "duration": 0.0027072039999893605}, "setup": {"outcome": "passed", "duration": 0.00031667499996501647}, "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.00019639900000356647}}, {"call": {"outcome": "passed", "duration": 0.002699780999989798}, "setup": {"outcome": "passed", "duration": 0.000315513000032297}, "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.00017259399999147718}}, {"call": {"outcome": "passed", "duration": 0.0027005919999965045}, "setup": {"outcome": "passed", "duration": 0.00031901900001685135}, "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.00018053899998449197}}, {"call": {"outcome": "passed", "duration": 0.0026889200000255187}, "setup": {"outcome": "passed", "duration": 0.00031469100002823325}, "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.00018193199997540432}}, {"call": {"outcome": "passed", "duration": 0.0025786819999780164}, "setup": {"outcome": "passed", "duration": 0.00032033099995487646}, "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.0001819510000018454}}, {"call": {"outcome": "passed", "duration": 0.0026780999999687083}, "setup": {"outcome": "passed", "duration": 0.0003281159999914962}, "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.0001721829999610236}}, {"call": {"outcome": "passed", "duration": 0.002515054000014061}, "setup": {"outcome": "passed", "duration": 0.0003334659999723044}, "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.0001964790000101857}}, {"call": {"outcome": "passed", "duration": 0.002541022000002613}, "setup": {"outcome": "passed", "duration": 0.000309410999989268}, "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.00018227199996090349}}, {"call": {"outcome": "passed", "duration": 0.0025245310000059362}, "setup": {"outcome": "passed", "duration": 0.0003123870000081297}, "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.00018383500002983055}}, {"call": {"outcome": "passed", "duration": 0.002497790999996141}, "setup": {"outcome": "passed", "duration": 0.0003309909999984484}, "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.0001828339999860873}}, {"call": {"outcome": "passed", "duration": 0.002499132999957965}, "setup": {"outcome": "passed", "duration": 0.00032693399998606765}, "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.00019941400000789145}}, {"call": {"outcome": "passed", "duration": 0.0025908149999622765}, "setup": {"outcome": "passed", "duration": 0.00031050400002641254}, "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.00018020800001750104}}, {"call": {"outcome": "passed", "duration": 0.0025182800000038696}, "setup": {"outcome": "passed", "duration": 0.0003123970000160625}, "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.0001814999999965039}}, {"call": {"outcome": "passed", "duration": 0.0024903170000243335}, "setup": {"outcome": "passed", "duration": 0.00033189299995228794}, "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.00018579900000759153}}, {"call": {"outcome": "passed", "duration": 0.002494304000038028}, "setup": {"outcome": "passed", "duration": 0.0003055640000297899}, "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.0001809710000202358}}, {"call": {"outcome": "passed", "duration": 0.0025696459999835497}, "setup": {"outcome": "passed", "duration": 0.0005379899999979898}, "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.00018351400001392904}}, {"call": {"outcome": "passed", "duration": 0.0025302819999524218}, "setup": {"outcome": "passed", "duration": 0.00031620400000065274}, "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.00018028900001354486}}, {"call": {"outcome": "passed", "duration": 0.002543335999973806}, "setup": {"outcome": "passed", "duration": 0.00031345899998314053}, "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.00018436700003121587}}, {"call": {"outcome": "passed", "duration": 0.002536434000035115}, "setup": {"outcome": "passed", "duration": 0.00033164199999191624}, "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.0001980220000064037}}, {"call": {"outcome": "passed", "duration": 0.00252752699998382}, "setup": {"outcome": "passed", "duration": 0.00031265699999494245}, "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.00018332399997689208}}, {"call": {"outcome": "passed", "duration": 0.002533507999999074}, "setup": {"outcome": "passed", "duration": 0.0003124970000385474}, "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.00018532799998638438}}, {"call": {"outcome": "passed", "duration": 0.0025093029999538885}, "setup": {"outcome": "passed", "duration": 0.0003323239999986072}, "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.00018062899999904403}}, {"call": {"outcome": "passed", "duration": 0.0025798249999979816}, "setup": {"outcome": "passed", "duration": 0.00030825900000763795}, "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.00020204999998441053}}, {"call": {"outcome": "passed", "duration": 0.002501397999992605}, "setup": {"outcome": "passed", "duration": 0.0003172360000007757}, "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.00018218200000319484}}, {"call": {"outcome": "passed", "duration": 0.0025481850000232953}, "setup": {"outcome": "passed", "duration": 0.00031146499998158106}, "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.00018219200001112767}}, {"call": {"outcome": "passed", "duration": 0.0025036119999981565}, "setup": {"outcome": "passed", "duration": 0.00033646100001760715}, "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.00018314400000463138}}, {"call": {"outcome": "passed", "duration": 0.0025144420000060563}, "setup": {"outcome": "passed", "duration": 0.0003148519999740529}, "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.0001991540000290115}}, {"call": {"outcome": "passed", "duration": 0.0025183889999880193}, "setup": {"outcome": "passed", "duration": 0.00031435099998589067}, "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.00018415599998888865}}, {"call": {"outcome": "passed", "duration": 0.0025636639999788713}, "setup": {"outcome": "passed", "duration": 0.00031488099995158336}, "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.000185898999973233}}, {"call": {"outcome": "passed", "duration": 0.0025573530000428946}, "setup": {"outcome": "passed", "duration": 0.0003388369999584029}, "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.00018394500000340486}}, {"call": {"outcome": "passed", "duration": 0.002543247000005522}, "setup": {"outcome": "passed", "duration": 0.00031336799997916387}, "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.000194405000002007}}, {"call": {"outcome": "passed", "duration": 0.0027022149999993417}, "setup": {"outcome": "passed", "duration": 0.000315381999996589}, "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.00019044800001211115}}, {"call": {"outcome": "passed", "duration": 0.0025696659999994154}, "setup": {"outcome": "passed", "duration": 0.00032107299995232097}, "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.00018544800002473494}}, {"call": {"outcome": "passed", "duration": 0.0025207840000120996}, "setup": {"outcome": "passed", "duration": 0.0003178169999955571}, "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.0001854379999599587}}, {"call": {"outcome": "passed", "duration": 0.0025302010000132213}, "setup": {"outcome": "passed", "duration": 0.0003483340000229873}, "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.00018496699999559496}}, {"call": {"outcome": "passed", "duration": 0.002610151999988375}, "setup": {"outcome": "passed", "duration": 0.0003146810000203004}, "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.00020562600002449472}}, {"call": {"outcome": "passed", "duration": 0.0025603180000075554}, "setup": {"outcome": "passed", "duration": 0.00031638399997291344}, "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.0001848680000193781}}, {"call": {"outcome": "passed", "duration": 0.002547625000033804}, "setup": {"outcome": "passed", "duration": 0.0003178169999955571}, "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.00018696099999715443}}, {"call": {"outcome": "passed", "duration": 0.0025786730000163516}, "setup": {"outcome": "passed", "duration": 0.0003248799999937546}, "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.0001901869999869632}}, {"call": {"outcome": "passed", "duration": 0.002512770000009823}, "setup": {"outcome": "passed", "duration": 0.0003458090000094671}, "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.0001856790000260844}}, {"call": {"outcome": "passed", "duration": 0.00251327999995965}, "setup": {"outcome": "passed", "duration": 0.00031416100000569713}, "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.00018503699999428136}}, {"call": {"outcome": "passed", "duration": 0.0025421940000001086}, "setup": {"outcome": "passed", "duration": 0.0004238459999896804}, "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.00018519799999694442}}, {"call": {"outcome": "passed", "duration": 0.0025012370000467854}, "setup": {"outcome": "passed", "duration": 0.00031862800000226343}, "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.00018468700000084937}}, {"call": {"outcome": "passed", "duration": 0.002842016999977659}, "setup": {"outcome": "passed", "duration": 0.0003319830000236834}, "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.00018655000002354427}}, {"call": {"outcome": "passed", "duration": 0.0025142920000007507}, "setup": {"outcome": "passed", "duration": 0.0003464609999923596}, "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.00018510799998239236}}, {"call": {"outcome": "passed", "duration": 0.002500376000000415}, "setup": {"outcome": "passed", "duration": 0.0003344689999948969}, "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.00020163899995395695}}, {"call": {"outcome": "passed", "duration": 0.002509782999993604}, "setup": {"outcome": "passed", "duration": 0.00031567199999926743}, "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.00023887899999408546}}, {"call": {"outcome": "passed", "duration": 0.002607195999985379}, "setup": {"outcome": "passed", "duration": 0.00032106300000123156}, "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.00018602000000100816}}, {"call": {"outcome": "passed", "duration": 0.0025179180000236556}, "setup": {"outcome": "passed", "duration": 0.00032014200002095095}, "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.00018619899998384426}}, {"call": {"outcome": "passed", "duration": 0.0024976409999908356}, "setup": {"outcome": "passed", "duration": 0.0003348280000068371}, "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.00020321100004139225}}, {"call": {"outcome": "passed", "duration": 0.002515844999948058}, "setup": {"outcome": "passed", "duration": 0.00031438000002026456}, "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.00018573900001683796}}, {"call": {"outcome": "passed", "duration": 0.002518190000046161}, "setup": {"outcome": "passed", "duration": 0.0003140199999620563}, "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.0001832240000112506}}, {"call": {"outcome": "passed", "duration": 0.002497700999981589}, "setup": {"outcome": "passed", "duration": 0.0003400379999902725}, "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.00018686100003151296}}, {"call": {"outcome": "passed", "duration": 0.0025225570000202424}, "setup": {"outcome": "passed", "duration": 0.0006765599999880578}, "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.00017862599997897632}}, {"call": {"outcome": "passed", "duration": 0.0027154399999744783}, "setup": {"outcome": "passed", "duration": 0.000391054000033364}, "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.00017932700001210833}}, {"call": {"outcome": "passed", "duration": 0.0026231460000190054}, "setup": {"outcome": "passed", "duration": 0.0003211229999919851}, "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.00018116000001100474}}, {"call": {"outcome": "passed", "duration": 0.0034980700000346587}, "setup": {"outcome": "passed", "duration": 0.00039568300002201795}, "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.00018106999999645268}}, {"call": {"outcome": "passed", "duration": 0.009389864000013404}, "setup": {"outcome": "passed", "duration": 0.00034677200000032826}, "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.00018439699999817094}}, {"call": {"outcome": "passed", "duration": 0.003585103999967032}, "setup": {"outcome": "passed", "duration": 0.00032398799999100447}, "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.00020906299999978728}}, {"call": {"outcome": "passed", "duration": 0.0030201320000173837}, "setup": {"outcome": "passed", "duration": 0.00032474900001489004}, "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.00018369400004303316}}, {"call": {"outcome": "passed", "duration": 0.012143355000034717}, "setup": {"outcome": "passed", "duration": 0.0003415510000195354}, "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.00019800199999053802}}, {"call": {"outcome": "passed", "duration": 0.26310322299997324}, "setup": {"outcome": "passed", "duration": 0.00035166100002470557}, "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.0002311850000182858}}, {"call": {"outcome": "passed", "duration": 0.0032978479999883348}, "setup": {"outcome": "passed", "duration": 0.0004988680000224122}, "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.00018701200002624319}}, {"call": {"outcome": "skipped", "duration": 0.00023576300003469441, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0004970339999772477}, "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.0001772439999854214}}, {"call": {"outcome": "skipped", "duration": 0.0002005970000027446, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00033076099998652353}, "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.00017935700003590682}}, {"call": {"outcome": "skipped", "duration": 0.00019321400003491362, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003107529999510916}, "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.00016885799999499795}}, {"call": {"outcome": "failed", "duration": 0.0044915610000089146, "longrepr": "654         Only return objects that have attribute has_attr, if None return all.\n655 \n656     .. rubric:: General Usage\n657 \n658     Get a list of all resource_ids contained in an event, the objects they\n659     are attached to, and the attribute name on the parent object.\n660 \n661     >>> import obspy\n662     >>> from obspy.core.event import ResourceIdentifier\n663     >>> cat = obspy.read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.util.misc._yield_obj_parent_attr[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/misc.py:663: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003093310000394922}, "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.00018782299997610608}}, {"call": {"outcome": "passed", "duration": 0.002563027000007878}, "setup": {"outcome": "passed", "duration": 0.00032218500001590655}, "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.0001737669999783975}}, {"call": {"outcome": "passed", "duration": 0.002986502999988261}, "setup": {"outcome": "passed", "duration": 0.0003394080000020949}, "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.00017269400001396207}}, {"call": {"outcome": "passed", "duration": 0.002551735999986704}, "setup": {"outcome": "passed", "duration": 0.0004608769999663309}, "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.00017395699995859104}}, {"call": {"outcome": "passed", "duration": 0.0027745549999735886}, "setup": {"outcome": "passed", "duration": 0.00032943999997314677}, "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.00017521900002748225}}, {"call": {"outcome": "passed", "duration": 0.002525257000002057}, "setup": {"outcome": "passed", "duration": 0.0003255109999713568}, "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.00017683299995496782}}, {"call": {"outcome": "passed", "duration": 0.003927231000034226}, "setup": {"outcome": "passed", "duration": 0.0003966549999745439}, "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.00017958799998041286}}, {"call": {"outcome": "passed", "duration": 0.002725202000021909}, "setup": {"outcome": "passed", "duration": 0.0003261029999634957}, "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.00017478900002743103}}, {"call": {"outcome": "passed", "duration": 0.002690336999989995}, "setup": {"outcome": "passed", "duration": 0.00031986099997993733}, "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.0001810800000043855}}, {"call": {"outcome": "failed", "duration": 0.005490719000022182, "longrepr": "399 \n400     .. rubric:: Example\n401 \n402     1) Changes to the non-default parameters of the\n403         :class:`~obspy.core.trace.Stats` objects of the stream's contained\n404         :class:`~obspy.core.trace.Trace` objects will cause the streams to\n405         be considered unequal, but they will be considered almost equal.\n406 \n407         >>> from obspy import read\n408         >>> st1 = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.util.testing.streams_almost_equal[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/testing.py:408: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000398798999981409}, "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.00019709099996134682}}, {"call": {"outcome": "passed", "duration": 0.002529083000013088}, "setup": {"outcome": "passed", "duration": 0.0006003180000107022}, "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.0001722839999729331}}, {"call": {"outcome": "failed", "duration": 0.004242373000010957, "longrepr": "421     :param maxradius: Maximum distance, in degrees, from the reference\n422         geographic point defined by the latitude and longitude parameters.\n423     :return: ``True`` if the object is within the given range, ``False``\n424         otherwise.\n425 \n426     .. rubric:: Example\n427 \n428     >>> from obspy.geodetics import inside_geobounds\n429     >>> from obspy import read_events\n430     >>> ev = read_events()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.geodetics.base.inside_geobounds[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/geodetics/base.py:430: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031421099998851787}, "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.00020354299999780778}}, {"call": {"outcome": "passed", "duration": 0.0025235029999635117}, "setup": {"outcome": "passed", "duration": 0.0003193100000089544}, "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.00017500900003142306}}, {"call": {"outcome": "passed", "duration": 0.0026407629999880555}, "setup": {"outcome": "passed", "duration": 0.0005119019999710872}, "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.00017853599996442426}}, {"call": {"outcome": "passed", "duration": 0.003066913999987264}, "setup": {"outcome": "passed", "duration": 0.00032289699998955257}, "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.00017963800002007702}}, {"call": {"outcome": "passed", "duration": 0.012204386999997041}, "setup": {"outcome": "passed", "duration": 0.00044592800003329103}, "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.00021270999997113904}}, {"call": {"outcome": "passed", "duration": 0.011927566999986539}, "setup": {"outcome": "passed", "duration": 0.0003490360000455439}, "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.00019673000002740082}}, {"call": {"outcome": "passed", "duration": 0.0119736039999907}, "setup": {"outcome": "passed", "duration": 0.000338175000024421}, "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.00019700000001421358}}, {"call": {"outcome": "passed", "duration": 0.011961842000005163}, "setup": {"outcome": "passed", "duration": 0.00035995600001115236}, "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.00020582600001262108}}, {"call": {"outcome": "passed", "duration": 0.05338787900001307}, "setup": {"outcome": "passed", "duration": 0.0010757520000197474}, "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.0002248220000069523}}, {"call": {"outcome": "passed", "duration": 0.01023942500000885}, "setup": {"outcome": "passed", "duration": 0.00039825799996151545}, "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.0002646769999614662}}, {"call": {"outcome": "passed", "duration": 0.002557787000000644}, "setup": {"outcome": "passed", "duration": 0.00044383400000924667}, "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.00018099999999776628}}, {"setup": {"outcome": "skipped", "duration": 0.00019597800002202348, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/geodetics/tests/test_util_geodetics.py', 72, 'Skipped: Module geographiclib is not installed')"}, "lineno": 71, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_gps_2_dist_azimuth_with_geographiclib", "outcome": "skipped", "keywords": ["test_gps_2_dist_azimuth_with_geographiclib", "skipif", "pytestmark", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018108100005065353}}, {"call": {"outcome": "passed", "duration": 0.00032212499996830957}, "setup": {"outcome": "passed", "duration": 0.0003124269999830176}, "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.00019245199996476003}}, {"call": {"outcome": "passed", "duration": 0.00039400100001785177}, "setup": {"outcome": "passed", "duration": 0.00028272200000856174}, "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.00016757500003450332}}, {"call": {"outcome": "passed", "duration": 0.0007156550000217976}, "setup": {"outcome": "passed", "duration": 0.00030681700002332946}, "lineno": 194, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_gps_2_dist_azimuth_bug150", "outcome": "passed", "keywords": ["test_gps_2_dist_azimuth_bug150", "skipif", "pytestmark", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001725640000245221}}, {"call": {"outcome": "passed", "duration": 0.00022687699998868993}, "setup": {"outcome": "passed", "duration": 0.000298720999978741}, "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.0001715519999834214}}, {"call": {"outcome": "passed", "duration": 0.00022192700004097787}, "setup": {"outcome": "passed", "duration": 0.0002833529999861639}, "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.0001636680000274282}}, {"call": {"outcome": "passed", "duration": 0.0013199910000025739}, "setup": {"outcome": "passed", "duration": 0.00027678000003561465}, "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.0001714020000349592}}, {"setup": {"outcome": "skipped", "duration": 0.00018475799998896036, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/geodetics/tests/test_util_geodetics.py', 310, 'Skipped: Module geographiclib is not installed')"}, "lineno": 309, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_issue_375", "outcome": "skipped", "keywords": ["test_issue_375", "skipif", "pytestmark", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016743500003713052}}, {"call": {"outcome": "passed", "duration": 0.00033442899996316555}, "setup": {"outcome": "passed", "duration": 0.00030675699997573247}, "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.00018946599999480895}}, {"call": {"outcome": "failed", "duration": 0.006032778000019334, "longrepr": "020 :class:`~obspy.core.stream.Stream` object and has various other optional\n021 arguments to adjust the plot, such as color and tick format changes.\n022 \n023 Additionally the start and end time of the plot can be given as\n024 :class:`~obspy.core.utcdatetime.UTCDateTime` objects.\n025 \n026 Examples files may be retrieved via https://examples.obspy.org.\n027 \n028 >>> from obspy import read\n029 >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.imaging[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/__init__.py:29: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006558219999988069}, "lineno": 0, "nodeid": "imaging/__init__.py::obspy.imaging", "outcome": "failed", "keywords": ["obspy.imaging", "filterwarnings", "__init__.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001881839999668955}}, {"call": {"outcome": "passed", "duration": 0.0030900579999979527}, "setup": {"outcome": "passed", "duration": 0.00042712300000857795}, "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.00017515899997988527}}, {"call": {"outcome": "passed", "duration": 0.0025314669999829675}, "setup": {"outcome": "passed", "duration": 0.0003383450000455923}, "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.00017422700000224722}}, {"call": {"outcome": "passed", "duration": 0.0025649609999618406}, "setup": {"outcome": "passed", "duration": 0.00031128500000932036}, "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.00018041900000298483}}, {"call": {"outcome": "passed", "duration": 0.0025555129999474957}, "setup": {"outcome": "passed", "duration": 0.00042663199997150514}, "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.00019421399997554545}}, {"call": {"outcome": "passed", "duration": 0.002477967000004355}, "setup": {"outcome": "passed", "duration": 0.000420179000002463}, "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.00017297499999813226}}, {"call": {"outcome": "passed", "duration": 0.0024616860000037377}, "setup": {"outcome": "passed", "duration": 0.0006732649999889873}, "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.00019390500000326938}}, {"call": {"outcome": "passed", "duration": 0.002531147000013334}, "setup": {"outcome": "passed", "duration": 0.00044105899996793596}, "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.00017751399997223416}}, {"call": {"outcome": "passed", "duration": 0.00023536300000159827}, "setup": {"outcome": "passed", "duration": 0.0006284110000365217}, "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.00018780300001708383}}, {"call": {"outcome": "passed", "duration": 0.3993234850000249}, "setup": {"outcome": "passed", "duration": 0.0005829659999676551}, "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.00028469500000483094}}, {"call": {"outcome": "passed", "duration": 0.23008700500002988}, "setup": {"outcome": "passed", "duration": 0.00035644999996975457}, "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.00023110399996539854}}, {"call": {"outcome": "passed", "duration": 0.00031670499998881496}, "setup": {"outcome": "passed", "duration": 0.00034525799998164075}, "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.00017972799997778566}}, {"call": {"outcome": "passed", "duration": 0.00032355700000152865}, "setup": {"outcome": "passed", "duration": 0.00031779799996911606}, "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.00019343399998206223}}, {"call": {"outcome": "passed", "duration": 0.00031406099998321224}, "setup": {"outcome": "passed", "duration": 0.0002882019999788099}, "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.00017774399998415902}}, {"call": {"outcome": "passed", "duration": 0.00027379499999824475}, "setup": {"outcome": "passed", "duration": 0.00030995200000916157}, "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.00017321599995057113}}, {"call": {"outcome": "passed", "duration": 0.000453582999966784}, "setup": {"outcome": "passed", "duration": 0.00028543700000227545}, "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.00017746299999998882}}, {"call": {"outcome": "passed", "duration": 0.0003920469999911802}, "setup": {"outcome": "passed", "duration": 0.0003254019999872071}, "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.00019993600000134393}}, {"call": {"outcome": "passed", "duration": 0.17775184399999944}, "setup": {"outcome": "passed", "duration": 0.00045141800001147203}, "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.0004922749999991538}}, {"call": {"outcome": "passed", "duration": 0.14253273100001707}, "setup": {"outcome": "passed", "duration": 0.0005327620000343813}, "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.0003429550000078052}}, {"call": {"outcome": "passed", "duration": 0.14148104599996714}, "setup": {"outcome": "passed", "duration": 0.000535796000008304}, "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.0003215639999893938}}, {"call": {"outcome": "passed", "duration": 0.024005120000026636}, "setup": {"outcome": "passed", "duration": 0.0005302669999878162}, "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.00028192000002036366}}, {"call": {"outcome": "passed", "duration": 0.07469659100001991}, "setup": {"outcome": "passed", "duration": 0.0004712049999966439}, "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.0003170360000126493}}, {"call": {"outcome": "passed", "duration": 0.43428673400001117}, "setup": {"outcome": "passed", "duration": 0.0007356529999924533}, "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.00038524399997186265}}, {"call": {"outcome": "passed", "duration": 0.004558678000023519}, "setup": {"outcome": "passed", "duration": 0.0005145669999819802}, "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.00019506699999283228}}, {"call": {"outcome": "passed", "duration": 0.0035966099999882317}, "setup": {"outcome": "passed", "duration": 0.0003300110000168388}, "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.00019024699997771677}}, {"call": {"outcome": "passed", "duration": 0.0055720740000424485}, "setup": {"outcome": "passed", "duration": 0.00030343000003085763}, "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.00021331099998178615}}, {"call": {"outcome": "passed", "duration": 0.0545377800000324}, "setup": {"outcome": "passed", "duration": 0.00030471200000192766}, "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.00021632699997553573}}, {"call": {"outcome": "passed", "duration": 0.003671261000022241}, "setup": {"outcome": "passed", "duration": 0.00033178399996813823}, "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.00019473599996899793}}, {"call": {"outcome": "passed", "duration": 0.003752512999994906}, "setup": {"outcome": "passed", "duration": 0.0003124170000319282}, "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.0001962690000141265}}, {"call": {"outcome": "passed", "duration": 0.1144989040000155}, "setup": {"outcome": "passed", "duration": 0.0007146330000296075}, "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.00024105300002474905}}, {"call": {"outcome": "passed", "duration": 0.09910675300000094}, "setup": {"outcome": "passed", "duration": 0.0004462790000161476}, "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.0002526149999653171}}, {"call": {"outcome": "passed", "duration": 0.09967522200003032}, "setup": {"outcome": "passed", "duration": 0.00040581299998621034}, "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.000247445000013613}}, {"call": {"outcome": "passed", "duration": 0.10016242700004341}, "setup": {"outcome": "passed", "duration": 0.00043739099999129394}, "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.00024036100001012528}}, {"call": {"outcome": "passed", "duration": 0.09942220599998564}, "setup": {"outcome": "passed", "duration": 0.0004311499999971602}, "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.00024150299998382252}}, {"call": {"outcome": "passed", "duration": 0.08560276099996145}, "setup": {"outcome": "passed", "duration": 0.00045825099999774466}, "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.00022615499995026767}}, {"setup": {"outcome": "skipped", "duration": 0.0002143429999819091, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_mopad_script.py', 186, 'Skipped: Currently broken until further review.')"}, "lineno": 185, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_plot", "outcome": "skipped", "keywords": ["test_script_plot", "skip", "pytestmark", "filterwarnings", "image", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002684650000333022}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00249010099997804, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_plot.py\", line 37, in test_plot\n    obspy_plot(['--outfile', str(image_path)] + all_files_list)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/scripts/plot.py\", line 37, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007409120000261282}, "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.00023515199995927105}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020149369999558076, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_plot.py\", line 51, in test_plot_no_merge\n    obspy_plot(['--no-automerge', '--outfile', str(image_path)] +\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/scripts/plot.py\", line 37, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004941189999954076}, "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.0002546480000091833}}, {"call": {"outcome": "passed", "duration": 0.6410578040000132}, "setup": {"outcome": "passed", "duration": 1.0660302709999883}, "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.0003786810000292462}}, {"call": {"outcome": "passed", "duration": 0.32300852199995234}, "setup": {"outcome": "passed", "duration": 0.1481563580000511}, "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.00036818099999891274}}, {"call": {"outcome": "passed", "duration": 0.45143781199999466}, "setup": {"outcome": "passed", "duration": 0.14290989599999193}, "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.0004912730000228294}}, {"call": {"outcome": "passed", "duration": 0.013865240999962225}, "setup": {"outcome": "passed", "duration": 0.0012147429999913584}, "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.00023354900002914292}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_scan.py", "lineno": 91, "message": "assert 1 == 2\n +  where 1 = <obspy.imaging.scripts.scan.Scanner object at 0x7fa9d24e5bd0>.counter"}, "outcome": "failed", "duration": 0.0016906179999978121, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_scan.py\", line 91, in test_scan_dir_no_permission\n    assert scanner.counter == 2\nAssertionError: assert 1 == 2\n +  where 1 = <obspy.imaging.scripts.scan.Scanner object at 0x7fa9d24e5bd0>.counter"}, "setup": {"outcome": "passed", "duration": 0.0003536450000183322}, "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.00020123800004512304}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axes/_base.py", "lineno": 3749, "message": "ValueError: Axis limits cannot be NaN or Inf"}, "outcome": "failed", "duration": 0.04027658399996881, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_scan.py\", line 113, in test_scan_function_and_scanner_class\n    scanner.plot(path2)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/scripts/scan.py\", line 417, in plot\n    ax.set_xlim(left - 0.05 * x_axis_range,\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axes/_base.py\", line 3828, in set_xlim\n    return self.xaxis._set_lim(left, right, emit=emit, auto=auto)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axis.py\", line 1216, in _set_lim\n    v0 = self.axes._validate_converted_limits(v0, self.convert_units)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axes/_base.py\", line 3749, in _validate_converted_limits\n    raise ValueError(\"Axis limits cannot be NaN or Inf\")\nValueError: Axis limits cannot be NaN or Inf"}, "setup": {"outcome": "passed", "duration": 0.0004989579999801208}, "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.00031089399999473244}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axes/_base.py", "lineno": 3749, "message": "ValueError: Axis limits cannot be NaN or Inf"}, "outcome": "failed", "duration": 0.09962307400002146, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_scan.py\", line 151, in test_scan_plot_by_id_with_wildcard\n    fig = scanner.plot(fig=fig, show=False, seed_ids=[seed_id])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/scripts/scan.py\", line 417, in plot\n    ax.set_xlim(left - 0.05 * x_axis_range,\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axes/_base.py\", line 3828, in set_xlim\n    return self.xaxis._set_lim(left, right, emit=emit, auto=auto)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axis.py\", line 1216, in _set_lim\n    v0 = self.axes._validate_converted_limits(v0, self.convert_units)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axes/_base.py\", line 3749, in _validate_converted_limits\n    raise ValueError(\"Axis limits cannot be NaN or Inf\")\nValueError: Axis limits cannot be NaN or Inf"}, "setup": {"outcome": "passed", "duration": 0.0003460109999764427}, "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.00026518799995756126}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003517420999969545, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_scan.py\", line 172, in test_scanner_manually_add_streams\n    st = read(file_, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005599820000270483}, "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.0002707589999886295}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axes/_base.py", "lineno": 3749, "message": "ValueError: Axis limits cannot be NaN or Inf"}, "outcome": "failed", "duration": 0.04356914400000278, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_scan.py\", line 207, in test_scan_save_load_npz\n    scanner.plot(path1)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/scripts/scan.py\", line 417, in plot\n    ax.set_xlim(left - 0.05 * x_axis_range,\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axes/_base.py\", line 3828, in set_xlim\n    return self.xaxis._set_lim(left, right, emit=emit, auto=auto)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axis.py\", line 1216, in _set_lim\n    v0 = self.axes._validate_converted_limits(v0, self.convert_units)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/matplotlib/axes/_base.py\", line 3749, in _validate_converted_limits\n    raise ValueError(\"Axis limits cannot be NaN or Inf\")\nValueError: Axis limits cannot be NaN or Inf"}, "setup": {"outcome": "passed", "duration": 0.0006474869999806288}, "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.0003202220000275702}}, {"call": {"outcome": "passed", "duration": 0.013869389000035426}, "setup": {"outcome": "passed", "duration": 0.0005452450000120734}, "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.0002644269999905191}}, {"call": {"outcome": "passed", "duration": 0.0033558570000309373}, "setup": {"outcome": "passed", "duration": 0.0005013020000319557}, "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.0002723420000165788}}, {"call": {"outcome": "passed", "duration": 1.155930930000011}, "setup": {"outcome": "passed", "duration": 0.0004735399999731271}, "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.0002571830000306363}}, {"call": {"outcome": "passed", "duration": 0.36052662200000896}, "setup": {"outcome": "passed", "duration": 0.0007122590000108175}, "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.00035943599999654907}}, {"call": {"outcome": "passed", "duration": 0.064844652999966}, "setup": {"outcome": "passed", "duration": 0.00037098800004287114}, "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.00024346700001842692}}, {"call": {"outcome": "passed", "duration": 0.0014809030000151324}, "setup": {"outcome": "passed", "duration": 0.00036516699998401236}, "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.00017986800003200187}}, {"call": {"outcome": "passed", "duration": 0.4227351110000086}, "setup": {"outcome": "passed", "duration": 0.0003901730000279713}, "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.00026032900001382586}}, {"call": {"outcome": "passed", "duration": 0.00032525099999247686}, "setup": {"outcome": "passed", "duration": 0.00039715700000897414}, "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.0001945459999888044}}, {"call": {"outcome": "passed", "duration": 0.0025859909999894626}, "setup": {"outcome": "passed", "duration": 0.0003364219999753004}, "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.00019557799998892733}}, {"call": {"outcome": "passed", "duration": 0.14817988099997592}, "setup": {"outcome": "passed", "duration": 0.0004959929999586166}, "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.00039848900001970833}}, {"call": {"outcome": "passed", "duration": 0.12384380899999314}, "setup": {"outcome": "passed", "duration": 0.0005419489999667348}, "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.0003234680000332446}}, {"call": {"outcome": "passed", "duration": 0.12445168200002854}, "setup": {"outcome": "passed", "duration": 0.0005492219999609915}, "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.00033186299998533286}}, {"call": {"outcome": "passed", "duration": 0.09950229699995816}, "setup": {"outcome": "passed", "duration": 0.00054214800002228}, "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.0003172059999769772}}, {"call": {"outcome": "passed", "duration": 0.24671735499998704}, "setup": {"outcome": "passed", "duration": 0.0005523279999692932}, "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.0003300000000194814}}, {"call": {"outcome": "passed", "duration": 0.1938554249999811}, "setup": {"outcome": "passed", "duration": 0.0005492420000337006}, "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.0003181679999784137}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024620280000249295, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_waveform.py\", line 194, in test_plot_multiple_traces_1_trace\n    st = read()[1]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005394649999743706}, "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.00024605199996585725}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020755219999841756, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_waveform.py\", line 201, in test_plot_multiple_traces_3_traces\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004650239999932637}, "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.00022456200002807236}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002340608999986671, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_waveform.py\", line 208, in test_plot_multiple_traces_5_traces\n    st = read()[1] * 5\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045427400004882657}, "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.0002273569999715619}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020781660000466218, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_waveform.py\", line 216, in test_plot_multiple_traces_10_traces\n    st = read()[1] * 10\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00047706700001981517}, "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.00025149300000748553}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020355160000349315, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_waveform.py\", line 223, in test_plot_multiple_traces_10_traces_huge\n    st = read()[1] * 10\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004565790000015113}, "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.00025128200002200174}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020514259999799833, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_waveform.py\", line 234, in test_plot_multiple_traces_10_traces_tiny\n    st = read()[1] * 10\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004497159999914402}, "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.00023543300000028466}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020443519999844284, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_waveform.py\", line 244, in test_plot_with_labels\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00046644700000797457}, "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.00025234399998907975}}, {"call": {"outcome": "passed", "duration": 0.09810449900004414}, "setup": {"outcome": "passed", "duration": 0.00043507800000952557}, "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.00032773600003110914}}, {"call": {"outcome": "passed", "duration": 0.0968680750000317}, "setup": {"outcome": "passed", "duration": 0.0005300860000261309}, "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.000299492999999984}}, {"call": {"outcome": "passed", "duration": 0.5106251110000244}, "setup": {"outcome": "passed", "duration": 0.0005189860000314184}, "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.00034090099995864875}}, {"call": {"outcome": "passed", "duration": 0.5174886039999933}, "setup": {"outcome": "passed", "duration": 0.0005656229999999596}, "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.0003245199999923898}}, {"call": {"outcome": "passed", "duration": 0.4906619739999769}, "setup": {"outcome": "passed", "duration": 0.0005671370000186471}, "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.0003211140000303203}}, {"call": {"outcome": "passed", "duration": 0.7219979799999692}, "setup": {"outcome": "passed", "duration": 0.000530316999970637}, "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.00031742700002723723}}, {"call": {"outcome": "passed", "duration": 0.5388456669999755}, "setup": {"outcome": "passed", "duration": 0.0005338740000411235}, "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.00031760799998892253}}, {"call": {"outcome": "passed", "duration": 0.535067061999996}, "setup": {"outcome": "passed", "duration": 0.0005450250000080814}, "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.0003727809999531928}}, {"call": {"outcome": "passed", "duration": 0.5436058880000019}, "setup": {"outcome": "passed", "duration": 0.0006364459999872452}, "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.0003645350000169856}}, {"call": {"outcome": "passed", "duration": 0.585298655000031}, "setup": {"outcome": "passed", "duration": 0.0005794599999831007}, "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.0003583839999805605}}, {"call": {"outcome": "passed", "duration": 0.5793378669999925}, "setup": {"outcome": "passed", "duration": 0.000567296000042461}, "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.00035697200002005047}}, {"call": {"outcome": "passed", "duration": 0.15594737800000757}, "setup": {"outcome": "passed", "duration": 0.0006093459999760853}, "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.0003181379999546152}}, {"call": {"outcome": "passed", "duration": 0.15679122400001688}, "setup": {"outcome": "passed", "duration": 0.000547779999976683}, "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.00034990699998616037}}, {"call": {"outcome": "passed", "duration": 0.1765108449999957}, "setup": {"outcome": "passed", "duration": 0.0005872140000064974}, "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.00033375700002125086}}, {"call": {"outcome": "passed", "duration": 0.23572323500002312}, "setup": {"outcome": "passed", "duration": 0.0006985539999959656}, "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.0003781610000146429}}, {"call": {"outcome": "passed", "duration": 0.10951851499999066}, "setup": {"outcome": "passed", "duration": 0.0008168659999796546}, "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.00028421399997569097}}, {"call": {"outcome": "passed", "duration": 0.0936944999999696}, "setup": {"outcome": "passed", "duration": 0.0006832849999796053}, "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.0003062659999955031}}, {"call": {"outcome": "passed", "duration": 0.29246469099996375}, "setup": {"outcome": "passed", "duration": 0.0006875329999616042}, "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.00029057599999759987}}, {"call": {"outcome": "passed", "duration": 0.18519122700001844}, "setup": {"outcome": "passed", "duration": 0.0005530700000235811}, "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.00041456000002426663}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001473559999965346, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/tests/test_waveform.py\", line 473, in test_plot_day_plot_catalog\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005509159999519397}, "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.0002512620000061361}}, {"call": {"outcome": "passed", "duration": 0.10420624599998973}, "setup": {"outcome": "passed", "duration": 0.00030436199995165225}, "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.00024355800002240358}}, {"call": {"outcome": "passed", "duration": 0.003506993999963015}, "setup": {"outcome": "passed", "duration": 0.0005210099999999329}, "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.0002113279999775841}}, {"call": {"outcome": "passed", "duration": 0.0034542949999831762}, "setup": {"outcome": "passed", "duration": 0.00033188400004746654}, "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.0001879729999814117}}, {"call": {"outcome": "passed", "duration": 0.00319909600000301}, "setup": {"outcome": "passed", "duration": 0.00032564199995022136}, "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.00021326099999896542}}, {"call": {"outcome": "passed", "duration": 0.0009111029999644416}, "setup": {"outcome": "passed", "duration": 0.0014778789999922992}, "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.00017209399999273955}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009788609999645814, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ah/tests/test_core.py\", line 57, in test_read\n    st = read(testfile)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034336599998141537}, "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.00019072899999628135}}, {"call": {"outcome": "passed", "duration": 0.013107116000014685}, "setup": {"outcome": "passed", "duration": 0.00034395699998412965}, "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.0001987940000276467}}, {"call": {"outcome": "passed", "duration": 0.0014876970000159417}, "setup": {"outcome": "passed", "duration": 0.0003475540000295041}, "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.0001837159999809046}}, {"call": {"outcome": "passed", "duration": 0.1121086549999859}, "setup": {"outcome": "passed", "duration": 0.0003636729999811905}, "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.00043376600001465704}}, {"call": {"outcome": "passed", "duration": 0.0005272220000165362}, "setup": {"outcome": "passed", "duration": 0.0005068730000061805}, "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.00028888299999607625}}, {"call": {"outcome": "passed", "duration": 0.00027228200002582525}, "setup": {"outcome": "passed", "duration": 0.0004979469999852881}, "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.00019940499998938321}}, {"call": {"outcome": "passed", "duration": 0.0002434269999866956}, "setup": {"outcome": "passed", "duration": 0.0004149509999820111}, "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.00018942599996307763}}, {"call": {"outcome": "passed", "duration": 0.00026362599999174563}, "setup": {"outcome": "passed", "duration": 0.00044707099999641287}, "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.00018655100001296887}}, {"call": {"outcome": "passed", "duration": 0.0002741650000075424}, "setup": {"outcome": "passed", "duration": 0.0004034179999621301}, "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.00018820399998276116}}, {"call": {"outcome": "passed", "duration": 0.00023906000001261418}, "setup": {"outcome": "passed", "duration": 0.0004188070000168409}, "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.0002123700000424833}}, {"call": {"outcome": "passed", "duration": 0.0031509149999919828}, "setup": {"outcome": "passed", "duration": 0.0006621750000022075}, "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.0001746080000089023}}, {"call": {"outcome": "failed", "duration": 0.005192604000001211, "longrepr": "132         91,92,93,94,95,97,98,102,103,104,106,107,108,109, and 111.\n133     :type ignore_error: bool, optional\n134     :param ignore_error: Include error frames as much as possible if True.\n135     :rtype: :class:`~obspy.core.stream.Stream`\n136     :return: A ObsPy Stream object.\n137 \n138     .. rubric:: Example\n139 \n140     >>> from obspy import read\n141     >>> st = read(\"/path/to/pse.a15.1.2.mini\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.alsep.core._read_pse[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/alsep/core.py:141: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003936599999860846}, "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.00018861500001321474}}, {"call": {"outcome": "failed", "duration": 0.004880146999994395, "longrepr": "295         for scanning available data in huge (temporary) data sets.\n296     :type ignore_error: bool, optional\n297     :param ignore_error: Include error frames as much as possible if True.\n298     :rtype: :class:`~obspy.core.stream.Stream`\n299     :return: A ObsPy Stream object.\n300 \n301     .. rubric:: Example\n302 \n303     >>> from obspy import read\n304     >>> st = read(\"/path/to/wth.1.5.mini\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.alsep.core._read_wth[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/alsep/core.py:304: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034451799996304544}, "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.00021228899998959605}}, {"call": {"outcome": "failed", "duration": 0.005277052999986154, "longrepr": "205         for scanning available data in huge (temporary) data sets.\n206     :type ignore_error: bool, optional\n207     :param ignore_error: Include error frames as much as possible if True.\n208     :rtype: :class:`~obspy.core.stream.Stream`\n209     :return: A ObsPy Stream object.\n210 \n211     .. rubric:: Example\n212 \n213     >>> from obspy import read\n214     >>> st = read(\"/path/to/wtn.1.2.mini\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.alsep.core._read_wtn[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/alsep/core.py:214: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00036692000003313296}, "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.00019073900000421418}}, {"call": {"outcome": "passed", "duration": 0.000476595999998608}, "setup": {"outcome": "passed", "duration": 0.0010249480000084077}, "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.00017188300000725576}}, {"call": {"outcome": "passed", "duration": 0.0004194889999666884}, "setup": {"outcome": "passed", "duration": 0.000333307000005334}, "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.00016782500000545042}}, {"call": {"outcome": "passed", "duration": 0.00046084699999937584}, "setup": {"outcome": "passed", "duration": 0.0003302499999904285}, "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.00017103200002566155}}, {"call": {"outcome": "passed", "duration": 0.2340028109999821}, "setup": {"outcome": "passed", "duration": 0.0003560289999882116}, "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.00026531899999326924}}, {"call": {"outcome": "passed", "duration": 1.2560070019999898}, "setup": {"outcome": "passed", "duration": 0.00041034100001979823}, "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.00023300800000924937}}, {"call": {"outcome": "passed", "duration": 0.023189585000011448}, "setup": {"outcome": "passed", "duration": 0.0004124349999869992}, "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.0001986629999919387}}, {"call": {"outcome": "passed", "duration": 0.012035531000037736}, "setup": {"outcome": "passed", "duration": 0.000403588999972726}, "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.00019054799997775262}}, {"call": {"outcome": "passed", "duration": 0.015449850999971204}, "setup": {"outcome": "passed", "duration": 0.0003514910000035343}, "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.00018875499995374412}}, {"call": {"outcome": "passed", "duration": 0.004204306000019642}, "setup": {"outcome": "passed", "duration": 0.0003705860000309258}, "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.0002001359999894703}}, {"call": {"outcome": "passed", "duration": 0.09301520299999311}, "setup": {"outcome": "passed", "duration": 0.0003503590000377699}, "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.00023807799999531198}}, {"call": {"outcome": "passed", "duration": 0.05820065799997565}, "setup": {"outcome": "passed", "duration": 0.0004355190000069342}, "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.00023466100003588508}}, {"call": {"outcome": "passed", "duration": 0.22538337699995736}, "setup": {"outcome": "passed", "duration": 0.00046204899996382665}, "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.000338436000049569}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009231050000266805, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 35, in test_publicid_slash\n    v = read_inventory(testdata[\"public-id-slash.xml\"])\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001405481000006148}, "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.00022750800002313554}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007446589999631215, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 42, in test_analogue_filter_chain\n    arclink_inv = read_inventory(self.arclink_afc_path)\n                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004378329999781272}, "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.0002151150000031521}}, {"call": {"outcome": "passed", "duration": 0.017406851999965056}, "setup": {"outcome": "passed", "duration": 0.0004302780000102757}, "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.0002659799999946699}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011623839999970187, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 71, in test_raise_polynomial\n    read_inventory(self.arclink_xml_poly)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004814139999780309}, "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.00021949199998516633}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008355999999594133, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 75, in test_auto_read_arclink_xml\n    arclink_inv = read_inventory(self.arclink_xml_path)\n                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006153759999847352}, "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.0003410510000207978}}, {"call": {"outcome": "skipped", "duration": 0.00021519500000977132, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0007155339999940225}, "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.0001775939999788534}}, {"call": {"outcome": "skipped", "duration": 0.00019425499999670137, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00031163599999217695}, "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.00017427799997449256}}, {"call": {"outcome": "failed", "duration": 0.005527878999998848, "longrepr": "121     :type headonly: bool, optional\n122     :param headonly: If set to True, read only the head. This is most useful\n123         for scanning available data in huge (temporary) data sets.\n124     :rtype: :class:`~obspy.core.stream.Stream`\n125     :return: A ObsPy Stream object.\n126 \n127     .. rubric:: Example\n128 \n129     >>> from obspy import read\n130     >>> st = read('/path/to/slist.ascii')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._read_slist[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ascii/core.py:130: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00030903099997203753}, "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.000190678000024036}}, {"call": {"outcome": "failed", "duration": 0.005190654999978506, "longrepr": "189     :type headonly: bool, optional\n190     :param headonly: If set to True, read only the headers. This is most useful\n191         for scanning available data in huge (temporary) data sets.\n192     :rtype: :class:`~obspy.core.stream.Stream`\n193     :return: A ObsPy Stream object.\n194 \n195     .. rubric:: Example\n196 \n197     >>> from obspy import read\n198     >>> st = read('/path/to/tspair.ascii')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._read_tspair[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ascii/core.py:198: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003205919999800244}, "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.00018639999996139522}}, {"call": {"outcome": "failed", "duration": 0.005374690999985887, "longrepr": "261     :param filename: Name of file to write.\n262     :type custom_fmt: str\n263     :param custom_fmt: formatter for writing sample values. Defaults to None.\n264         Using this parameter will set ``TYPE`` value in header to ``CUSTOM``\n265         and ObsPy will raise an exception while trying to read that file.\n266 \n267     .. rubric:: Example\n268 \n269     >>> from obspy import read\n270     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._write_slist[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ascii/core.py:270: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003221750000079737}, "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.0001858289999745466}}, {"call": {"outcome": "failed", "duration": 0.005156250000027285, "longrepr": "371     :param filename: Name of file to write.\n372     :type custom_fmt: str\n373     :param custom_fmt: formatter for writing sample values. Defaults to None.\n374         Using this parameter will set ``TYPE`` value in header to ``CUSTOM``\n375         and ObsPy will raise an exception while trying to read that file.\n376 \n377     .. rubric:: Example\n378 \n379     >>> from obspy import read\n380     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._write_tspair[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ascii/core.py:380: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003467220000175075}, "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.0001902569999856496}}, {"call": {"outcome": "passed", "duration": 0.0004164420000165592}, "setup": {"outcome": "passed", "duration": 0.001072205000014037}, "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.00017851600000540202}}, {"call": {"outcome": "passed", "duration": 0.001357651999967402}, "setup": {"outcome": "passed", "duration": 0.000363483000000997}, "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.00018334499998218234}}, {"call": {"outcome": "passed", "duration": 0.0022892619999765884}, "setup": {"outcome": "passed", "duration": 0.0003400989999704507}, "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.00019071799999892391}}, {"call": {"outcome": "passed", "duration": 0.0008804149999832589}, "setup": {"outcome": "passed", "duration": 0.0003633229999877585}, "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.00018182200000183002}}, {"call": {"outcome": "passed", "duration": 0.0012277369999651455}, "setup": {"outcome": "passed", "duration": 0.0003377439999781018}, "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.00019684000000097512}}, {"call": {"outcome": "passed", "duration": 0.00040540199995575676}, "setup": {"outcome": "passed", "duration": 0.00033605199996600277}, "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.00017726400000128706}}, {"call": {"outcome": "passed", "duration": 0.0017414520000329503}, "setup": {"outcome": "passed", "duration": 0.000336542000013651}, "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.00018901499998946747}}, {"call": {"outcome": "passed", "duration": 0.00309357399999044}, "setup": {"outcome": "passed", "duration": 0.0003406000000154563}, "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.0002065079999624686}}, {"call": {"outcome": "passed", "duration": 0.0011077920000275299}, "setup": {"outcome": "passed", "duration": 0.00034075000002076195}, "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.00018405600002324718}}, {"call": {"outcome": "passed", "duration": 0.0013012459999686143}, "setup": {"outcome": "passed", "duration": 0.00035868399999117173}, "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.00020534600002974912}}, {"call": {"outcome": "passed", "duration": 0.0024314490000278965}, "setup": {"outcome": "passed", "duration": 0.0003378440000005867}, "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.000186600000006365}}, {"call": {"outcome": "passed", "duration": 0.002326071000027241}, "setup": {"outcome": "passed", "duration": 0.0003415819999759151}, "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.00018756200000780154}}, {"call": {"outcome": "passed", "duration": 0.001702208999972754}, "setup": {"outcome": "passed", "duration": 0.00037546499999052685}, "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.00018551900001284594}}, {"call": {"outcome": "passed", "duration": 0.03427482099999679}, "setup": {"outcome": "passed", "duration": 0.0003598369999622264}, "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.00025477899998804787}}, {"call": {"outcome": "passed", "duration": 0.002078736999976627}, "setup": {"outcome": "passed", "duration": 0.00040521199997556323}, "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.000188986000011937}}, {"call": {"outcome": "passed", "duration": 0.001973047999968003}, "setup": {"outcome": "passed", "duration": 0.00036923400000432594}, "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.0001880730000038966}}, {"call": {"outcome": "passed", "duration": 0.0014377620000232127}, "setup": {"outcome": "passed", "duration": 0.00034145200004331855}, "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.0001846669999849837}}, {"call": {"outcome": "passed", "duration": 0.00413693399997328}, "setup": {"outcome": "passed", "duration": 0.00044710999998187617}, "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.0002064280000126928}}, {"call": {"outcome": "passed", "duration": 0.02373784000002388}, "setup": {"outcome": "passed", "duration": 0.0003010660000200005}, "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.00024095300000226416}}, {"call": {"outcome": "passed", "duration": 0.035119428999962565}, "setup": {"outcome": "passed", "duration": 0.0003266429999939646}, "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.00021472399998856417}}, {"call": {"outcome": "passed", "duration": 0.0003583140000387175}, "setup": {"outcome": "passed", "duration": 0.000346401000001606}, "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.00017118199997412376}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009147889999781, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ascii/tests/test_ascii.py\", line 675, in test_regression_against_mseed2ascii\n    read(mseed_file).write(tf.name, format=\"TSPAIR\")\n    ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003557790000172645}, "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.00018741200000249592}}, {"call": {"outcome": "passed", "duration": 0.0013227459999711755}, "setup": {"outcome": "passed", "duration": 0.00036625899997488887}, "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.00017637199999853692}}, {"call": {"outcome": "passed", "duration": 0.000842262999981358}, "setup": {"outcome": "passed", "duration": 0.0003503679999994347}, "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.0002573140000095009}}, {"call": {"outcome": "failed", "duration": 0.005750287000012122, "longrepr": "013     GNU Lesser General Public License, Version 3\n014     (https://www.gnu.org/copyleft/lesser.html)\n015 \n016 Example\n017 -------\n018 \n019 It works by utilizing ObsPy's :func:`~obspy.core.event.read_events` function.\n020 \n021 >>> import obspy\n022 >>> cat = obspy.read_events(\"/path/to/CMTSOLUTION\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.cmtsolution[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/cmtsolution/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007169369999928676}, "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.00019248200004540195}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000737245999971492, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 27, in test_read_and_write_cmtsolution_from_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009974550000038107}, "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.00018866499999603548}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009070649999785019, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 53, in test_write_no_preferred_focal_mechanism\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003689330000042901}, "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.0001918410000030235}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003795629999672201, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 82, in test_read_and_write_cmtsolution_from_open_files\n    cat = obspy.read_events(fh)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003490459999966333}, "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.0001930630000401834}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003817369999978837, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 106, in test_read_and_write_cmtsolution_from_bytes_io\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003399579999836533}, "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.0001810800000043855}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00038883099995246084, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 130, in test_read_and_write_cmtsolution_explosion\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003431549999959316}, "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.0002002070000344247}}, {"call": {"outcome": "passed", "duration": 0.005063825999968685}, "setup": {"outcome": "passed", "duration": 0.0003334570000106396}, "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.00018020900000692563}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007855469999640263, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 163, in test_read_and_write_multiple_cmtsolution_from_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003692939999950795}, "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.00018552899996393535}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00038228900001513466, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 197, in test_read_and_write_multiple_events_from_bytes_io\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003613790000258632}, "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.0001858200000128818}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007466030000387036, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 213, in test_reading_newer_cmtsolution_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034990799997558497}, "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.0002622729999757212}}, {"call": {"outcome": "passed", "duration": 0.02497078699997246}, "setup": {"outcome": "passed", "duration": 0.0012090520000356264}, "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.0002914269999791941}}, {"call": {"outcome": "passed", "duration": 0.0005899790000398752}, "setup": {"outcome": "passed", "duration": 0.017006038999966222}, "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.0002028810000069825}}, {"call": {"outcome": "passed", "duration": 0.0005964100000142025}, "setup": {"outcome": "passed", "duration": 0.015836752000041088}, "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.00021270000002004963}}, {"call": {"outcome": "passed", "duration": 0.0003093710000143801}, "setup": {"outcome": "passed", "duration": 0.015778051000040705}, "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.00021339099998840538}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009063730000207215, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/css/tests/test_core.py\", line 94, in test_css_read_via_obspy\n    st = read(self.filename_css)\n         ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.015752853999970284}, "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.00021966299999576222}}, {"call": {"outcome": "passed", "duration": 0.002404588999979751}, "setup": {"outcome": "passed", "duration": 0.01563024300003235}, "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.00020999399998800072}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009339750000094682, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/css/tests/test_core.py\", line 113, in test_nnsa_kb_core_read_via_obspy\n    st = read(self.filename_nnsa)\n         ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.015559169999960432}, "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.00023180599998795515}}, {"call": {"outcome": "passed", "duration": 0.0027773890000162282}, "setup": {"outcome": "passed", "duration": 0.016310101999977178}, "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.0003049430000032771}}, {"call": {"outcome": "passed", "duration": 0.0046983700000282624}, "setup": {"outcome": "passed", "duration": 0.016292268000029253}, "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.0003360919999977341}}, {"call": {"outcome": "passed", "duration": 0.0017240100000321945}, "setup": {"outcome": "passed", "duration": 0.016032219000010173}, "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.00047442200002478785}}, {"call": {"outcome": "passed", "duration": 0.06752895500000022}, "setup": {"outcome": "passed", "duration": 0.0008325140000238207}, "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.0003077490000009675}}, {"call": {"outcome": "failed", "duration": 0.0064300840000441895, "longrepr": "004 \n005 \n006 Usage CSV\n007 ---------\n008 \n009 CSV format can be used to store a catalog with basic origin properties.\n010 Picks cannot be stored.\n011 \n012 >>> from obspy import read_events\n013 >>> events = read_events('/path/to/catalog.csv')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/__init__.py:13: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007753769999681026}, "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.00020130899997639062}}, {"call": {"outcome": "failed", "duration": 0.0044493219999708344, "longrepr": "386     All kwargs are passed to :func:`load_csv`, e.g. use\n387     `only=('lat', 'lon', 'mag')`\n388     to get an array with lat, lon, mag parameters.\n389 \n390     Example\n391     -------\n392 \n393     >>> from obspy import read_events\n394     >>> from obspy.io.csv import _events2array\n395     >>> events = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv.core._events2array[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/core.py:395: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004766460000382722}, "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.00018584899999041227}}, {"call": {"outcome": "failed", "duration": 0.005494315000021288, "longrepr": "142         otherwise can be specified as string, sequence or dict\n143     :param format_check: Check if the first event can be read\n144     :param **kargs: all other kwargs are passed to csv.DictReader,\n145         important additional arguments are fieldnames, dialect, delimiter, etc\n146 \n147     Example\n148     -------\n149 \n150     >>> from obspy import read_events\n151     >>> events = read_events('/path/to/catalog.csv')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv.core._read_csv[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/core.py:151: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032531099998323043}, "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.000193353999975443}}, {"call": {"outcome": "failed", "duration": 0.004226893000009113, "longrepr": "265     .. warning::\n266         If the parameters `delimiter` or `header` are changed,\n267         ObsPy's read_events function will not automatically identify the file\n268         as CSV file\n269 \n270     Example\n271     -------\n272 \n273     >>> from obspy import read_events\n274     >>> events = read_events()  # get example catalog\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv.core._write_csv[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/core.py:274: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034136099998249847}, "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.00018998699999883684}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013141200000177378, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/tests/test_csv.py\", line 14, in test_csv\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006816709999952764}, "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.00019632900000488007}}, {"call": {"outcome": "passed", "duration": 0.015620945999955893}, "setup": {"outcome": "passed", "duration": 0.00030400200000713085}, "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.000205095000012534}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011220989999856101, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/tests/test_csv.py\", line 43, in test_csv_incomplete_catalog\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003258529999925486}, "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.00019434600000067803}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011106870000503477, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/tests/test_csv.py\", line 71, in test_csv_custom_fmt\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032180499999867607}, "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.00019231099997796264}}, {"call": {"outcome": "passed", "duration": 0.0003842710000299121}, "setup": {"outcome": "passed", "duration": 0.00029774899996937165}, "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.00017366700001275603}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003249186000005011, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/tests/test_csv.py\", line 88, in test_csz\n    events = read_events('/path/to/example.pha')\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003079290000300716}, "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.0001948959999822364}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012615910000022268, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/tests/test_csv.py\", line 128, in test_csz_without_picks\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030111600000282124}, "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.00019628899997314875}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00307263399997737, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/tests/test_csv.py\", line 139, in test_csz_without_check_compression_parameters\n    test_csz(check_compression=True)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/tests/test_csv.py\", line 88, in test_csz\n    events = read_events('/path/to/example.pha')\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031715599999415645}, "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.0001892359999828841}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010820939999689472, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/tests/test_csv.py\", line 144, in test_load_csv\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030168699998966986}, "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.0001975010000023758}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010812419999979284, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/tests/test_csv.py\", line 158, in test_load_csv_incomplete_catalog\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003027289999977256}, "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.000196720000019468}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010993559999974423, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/tests/test_csv.py\", line 173, in test_load_csv_some_cols\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030158599997776037}, "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.00021365199995670991}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010739980000380456, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/tests/test_csv.py\", line 190, in test_events2array\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029795000000376604}, "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.00019316300000582487}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0037744629999565404, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/csv/tests/test_csv.py\", line 198, in test_eventtxt\n    events = read_events(fname)\n             ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003158330000019305}, "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.000204674000030991}}, {"call": {"outcome": "failed", "duration": 0.006581477999986873, "longrepr": "014 \n015 Reading\n016 -------\n017 \n018 Reading CyberShake waveform data is handled by using\n019 ObsPy's standard :func:`~obspy.core.stream.read` function. The format is\n020 detected automatically.\n021 \n022 >>> from obspy import read\n023 >>> st = read(\"/path/to/test.grm\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.cybershake[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/cybershake/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006847160000233998}, "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.000191099000005579}}, {"call": {"outcome": "passed", "duration": 0.0003281869999796072}, "setup": {"outcome": "passed", "duration": 0.0007484369999701812}, "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.00017558000001827168}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001985189999970771, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/cybershake/tests/test_core.py\", line 37, in test_read_cybershake\n    st2 = read(valid_file)\n          ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033607099999244383}, "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.0002898449999975128}}, {"call": {"outcome": "failed", "duration": 0.006194139999990966, "longrepr": "019 Reading DMX is handled by using ObsPy's standard\n020 :func:`~obspy.core.stream.read` function. The format can be detected\n021 automatically, however setting the ``format`` parameter as \"DMX\" lead to a\n022 speed up.\n023 One optional keyword argument is available: ``station``. It is automatically\n024 passed to the :func:`obspy.io.dmx.core._read_dmx`. Its format \n025 \n026 >>> from obspy import read\n027 >>> # these two are equivalent, but the second case should be faster:\n028 >>> st = read(\"/path/to/131114_090600.dmx\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.dmx[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/dmx/__init__.py:28: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007050849999927777}, "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.00018537800002604854}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008239180000373381, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/dmx/tests/test_core.py\", line 23, in test_read_via_obspy\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009624490000419428}, "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.0001924009999925147}}, {"call": {"outcome": "passed", "duration": 0.002043189000005441}, "setup": {"outcome": "passed", "duration": 0.00036217100000612845}, "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.0001858689999494345}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008139899999832778, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/dmx/tests/test_core.py\", line 59, in test_read_with_station\n    st = read(filename, station='EMPL')\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003427740000461199}, "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.00019592800003920274}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008052930000417291, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/dmx/tests/test_core.py\", line 73, in test_check_data_content_sum\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034786399999120476}, "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.0002856670000142003}}, {"call": {"outcome": "passed", "duration": 0.0002806680000162487}, "setup": {"outcome": "passed", "duration": 0.0013156629999571123}, "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.00018688100004737862}}, {"call": {"outcome": "passed", "duration": 0.003255297000009705}, "setup": {"outcome": "passed", "duration": 0.00047347999998237356}, "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.0002086819999931322}}, {"call": {"outcome": "passed", "duration": 0.0038069240000027094}, "setup": {"outcome": "passed", "duration": 0.0005196369999680428}, "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.00020623699998623124}}, {"call": {"outcome": "passed", "duration": 0.003677800999980718}, "setup": {"outcome": "passed", "duration": 0.0004884180000317428}, "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.00020650800001931202}}, {"call": {"outcome": "passed", "duration": 0.005894476999969811}, "setup": {"outcome": "passed", "duration": 0.0004903710000121464}, "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.0002243710000016108}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000752715000032822, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/focmec/tests/test_core.py\", line 151, in test_read_focmec_out_through_plugin\n    cat = read_events(self.out_file)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004915129999858436}, "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.0002172279999967941}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000714251999966109, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/focmec/tests/test_core.py\", line 155, in test_read_focmec_lst_through_plugin\n    cat = read_events(self.lst_file)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005062810000140416}, "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.00021400200000698533}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007647080000197093, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/focmec/tests/test_core.py\", line 169, in test_read_focmec_lst_other_flavors\n    cat = read_events(testdata['focmec_qedUWne.lst'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005046780000270701}, "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.00036825199998702374}}, {"call": {"outcome": "failed", "duration": 0.007263509999972939, "longrepr": "015     (https://www.gnu.org/copyleft/lesser.html)\n016 \n017 Reading\n018 -------\n019 \n020 Similar to reading any other waveform data format using :mod:`obspy.core`\n021 The format will be determined automatically.\n022 \n023 >>> from obspy import read\n024 >>> st = read(\"/path/to/20160603_1955n.gcf\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gcf[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gcf/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007181100000366314}, "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.00019181999999773325}}, {"call": {"outcome": "passed", "duration": 0.007272886999999173}, "setup": {"outcome": "passed", "duration": 0.0004357189999950606}, "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.00018872500004363246}}, {"call": {"outcome": "skipped", "duration": 0.00021622600002046966, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003433449999761251}, "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.00019734099998913734}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008104330000264781, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gcf/tests/test_core.py\", line 32, in test_read_via_obspy\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009675690000108261}, "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.00018434599996908219}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009615870000061477, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gcf/tests/test_core.py\", line 51, in test_read_head_via_obspy\n    st = read(filename, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000339016999987507}, "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.0001885640000409694}}, {"call": {"outcome": "passed", "duration": 0.0014534119999893846}, "setup": {"outcome": "passed", "duration": 0.0003435160000435644}, "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.00017513900002086302}}, {"call": {"outcome": "passed", "duration": 0.0010800000000017462}, "setup": {"outcome": "passed", "duration": 0.0003393580000192742}, "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.00017272500002718516}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008071459999996478, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gcf/tests/test_core.py\", line 104, in test_read_channel_prefix_via_obspy\n    st = read(filename, headonly=True, channel_prefix=\"HN\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033720300001505166}, "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.00018453699999554374}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007993629999987206, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gcf/tests/test_core.py\", line 121, in test_merge_gcf_stream\n    st1 = read(filename, headonly=True, channel_prefix=\"HN\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034311500002104367}, "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.00018401600004835927}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009641519999945558, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gcf/tests/test_core.py\", line 146, in test_sps_d\n    st = read(filename, headonly=True, channel_prefix=\"HN\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034131199998910233}, "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.00020349299995814363}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008209229999920353, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gcf/tests/test_core.py\", line 163, in test_read_no_merge\n    st = read(filename, blockmerge=False, channel_prefix=\"HN\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034981800001787633}, "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.00021412299997791706}}, {"call": {"outcome": "passed", "duration": 0.010190379999983179}, "setup": {"outcome": "passed", "duration": 0.00029834099996151053}, "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.00020004599997491823}}, {"call": {"outcome": "passed", "duration": 0.1730210620000321}, "setup": {"outcome": "passed", "duration": 0.00034307499998931235}, "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.00025283500002615256}}, {"call": {"outcome": "passed", "duration": 0.002169636999951763}, "setup": {"outcome": "passed", "duration": 0.0003695049999805633}, "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.0002659300000118492}}, {"call": {"outcome": "failed", "duration": 0.007576277999987724, "longrepr": "016 :license:\n017     GNU Lesser General Public License, Version 3\n018     (https://www.gnu.org/copyleft/lesser.html)\n019 \n020 Reading waveform data\n021 ---------------------\n022 Similar to reading any other waveform data format using :mod:`obspy.core`:\n023 \n024 >>> from obspy import read\n025 >>> st = read(\"/path/to/loc_RJOB20050831023349.z\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/__init__.py:25: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007149140000137777}, "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.00020380299997668772}}, {"call": {"outcome": "failed", "duration": 0.008130167999979676, "longrepr": "1118     ...         'az': slice(40, 46),\n1119     ...         'antype': slice(105, 106),\n1120     ...         'loctype': slice(107, 108),\n1121     ...         'evtype': slice(109, 111),\n1122     ...     },\n1123     ...     'arrival': {\n1124     ...         'amp': slice(94, 104),\n1125     ...     },\n1126     ... }\n1127     >>> catalog = read_events('/path/to/bulletin/gse_2.0_non_standard.txt',\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.bulletin._read_gse2[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/bulletin.py:1127: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00048297799997953916}, "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.00021784900002330687}}, {"call": {"outcome": "failed", "duration": 0.0074111780000407634, "longrepr": "142     :type verify_chksum: bool, optional\n143     :param verify_chksum: If True verify Checksum and raise Exception if\n144         it is not correct.\n145     :rtype: :class:`~obspy.core.stream.Stream`\n146     :returns: Stream object containing header and data.\n147 \n148     .. rubric:: Example\n149 \n150     >>> from obspy import read\n151     >>> st = read(\"/path/to/y2000.gse\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.core._read_gse1[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/core.py:151: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00048071399999116693}, "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.00019038800002135758}}, {"call": {"outcome": "failed", "duration": 0.007246929000018554, "longrepr": "044     :type verify_chksum: bool, optional\n045     :param verify_chksum: If True verify Checksum and raise Exception if\n046         it is not correct.\n047     :rtype: :class:`~obspy.core.stream.Stream`\n048     :returns: Stream object containing header and data.\n049 \n050     .. rubric:: Example\n051 \n052     >>> from obspy import read\n053     >>> st = read(\"/path/to/loc_RJOB20050831023349.z\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.core._read_gse2[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/core.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003640840000116441}, "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.00019608799999559778}}, {"call": {"outcome": "failed", "duration": 0.005709398999954374, "longrepr": "083     :param filename: Name of file to write.\n084     :type inplace: bool, optional\n085     :param inplace: If True, do compression not on a copy of the data but\n086         on the data itself - note this will change the data values and make\n087         them therefore unusable!\n088 \n089     .. rubric:: Example\n090 \n091     >>> from obspy import read\n092     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.core._write_gse2[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/core.py:92: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034751300000834817}, "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.00020354200000838318}}, {"call": {"outcome": "passed", "duration": 0.0028765060000068843}, "setup": {"outcome": "passed", "duration": 0.000466096000025118}, "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.00020399300001372467}}, {"call": {"outcome": "passed", "duration": 0.0029741090000356962}, "setup": {"outcome": "passed", "duration": 0.0004722279999782586}, "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.00018103000002156477}}, {"call": {"outcome": "passed", "duration": 0.0027260429999955704}, "setup": {"outcome": "passed", "duration": 0.00032904899995855885}, "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.00017955800001345779}}, {"call": {"outcome": "passed", "duration": 0.018164576000003763}, "setup": {"outcome": "passed", "duration": 0.0009108920000358012}, "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.00029168800000434203}}, {"call": {"outcome": "passed", "duration": 0.016401082000015776}, "setup": {"outcome": "passed", "duration": 0.00045491499997751816}, "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.00024175400000103764}}, {"call": {"outcome": "passed", "duration": 0.017009714999971948}, "setup": {"outcome": "passed", "duration": 0.00041569100000060644}, "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.00026996700000836427}}, {"call": {"outcome": "passed", "duration": 0.016825640000035946}, "setup": {"outcome": "passed", "duration": 0.0004465190000360053}, "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.00028458500003125664}}, {"call": {"outcome": "passed", "duration": 0.01650959599999169}, "setup": {"outcome": "passed", "duration": 0.000471236000009867}, "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.0003602169999794569}}, {"call": {"outcome": "passed", "duration": 0.01647960000002513}, "setup": {"outcome": "passed", "duration": 0.0004448660000093696}, "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.0002704679999965265}}, {"call": {"outcome": "passed", "duration": 0.038816596000003756}, "setup": {"outcome": "passed", "duration": 0.00044731100001627055}, "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.0002657599999906779}}, {"call": {"outcome": "passed", "duration": 0.016707367999970302}, "setup": {"outcome": "passed", "duration": 0.0004743320000102358}, "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.0002786629999604884}}, {"call": {"outcome": "passed", "duration": 0.02836757000000034}, "setup": {"outcome": "passed", "duration": 0.0004622390000008636}, "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.00023043299995606503}}, {"call": {"outcome": "passed", "duration": 0.01651720000000978}, "setup": {"outcome": "passed", "duration": 0.00041197399997372486}, "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.0002041730000428288}}, {"call": {"outcome": "passed", "duration": 0.02636537699999053}, "setup": {"outcome": "passed", "duration": 0.0003782610000371278}, "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.00026876499998707004}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010028750000401487, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_bulletin.py\", line 605, in test_inventory\n    inventory = read_inventory(inventory_filename)\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043053899997858025}, "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.0002016189999949347}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008682710000016414, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_bulletin.py\", line 645, in test_inventory_with_multiple_channels\n    inventory = read_inventory(inventory_filename)\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036093799997161113}, "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.0002024600000254395}}, {"call": {"outcome": "passed", "duration": 0.028795113000001038}, "setup": {"outcome": "passed", "duration": 0.0003454090000332144}, "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.0002253540000083376}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008425739999893267, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_bulletin.py\", line 724, in test_read_events\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003638439999917864}, "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.00020712000002731656}}, {"call": {"outcome": "passed", "duration": 0.007833421000043472}, "setup": {"outcome": "passed", "duration": 0.00037075699998467826}, "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.00023733599999786748}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008967150000103175, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 28, in test_read_via_obspy\n    st = read(gse2file, verify_checksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008572309999976824}, "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.00020255100002941617}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009099000000105661, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 49, in test_read_head_via_obspy\n    st = read(gse2file, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036801100003458487}, "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.00019373299994640547}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001106880000008914, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 67, in test_read_and_write_via_obspy\n    st1 = read(gse2file)\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000353504999964116}, "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.0002107560000013109}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011926409999887255, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 113, in test_read_and_write_streams_via_obspy\n    st1 = read(tf.name)\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003451679999670887}, "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.00019731100002218227}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004729687999997623, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 159, in test_write_integers_via_obspy\n    stream = read(tempfile)\n             ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003370830000335445}, "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.00020325200000570476}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008250900000348338, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 174, in test_tab_complete_stats\n    tr = read(gse2file)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003725299999928211}, "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.00020325200000570476}}, {"call": {"outcome": "passed", "duration": 0.001174988000002486}, "setup": {"outcome": "passed", "duration": 0.0003121070000133841}, "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.00021301999998968313}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007913769999845499, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 200, in test_read_with_wrong_checksum\n    read(gse2file, verify_chksum=False)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003483250000044791}, "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.00019953499997882318}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007747359999825676, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 212, in test_read_with_wrong_parameters\n    read(gse2file, verify_chksum=False, starttime=None)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003423530000077335}, "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.0002137420000281054}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007980689999840251, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 221, in test_read_gse1_via_obspy\n    st = read(gse1file, verify_checksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033962800000608695}, "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.0002040429999965454}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009172740000167323, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 238, in test_read_gse1_head_via_obspy\n    st = read(gse1file, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003392579999967893}, "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.00019769099998256934}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008817169999701946, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 257, in test_read_intv_gse1_via_obspy\n    read(gse1file, verify_chksum=True)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036172000000078697}, "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.00019555799997306167}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007499390000020867, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 295, in test_read_dos\n    st = read(filedos, verify_chksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003616299999862349}, "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.00018416599999682148}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007607089999623895, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 307, in test_read_apply_calib\n    st = read(gse2file, apply_calib=False)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035505800002511023}, "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.00019728099999838378}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00222006199999214, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 327, in test_write_and_read_correct_network\n    tr = read(tmpfile)[0]\n         ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029612599996653444}, "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.00019596799995724723}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008180369999877257, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/gse2/tests/test_core.py\", line 337, in test_read_gse2_int_datatype\n    st = read(gse2file, verify_checksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003616299999862349}, "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.0002780730000040421}}, {"call": {"outcome": "passed", "duration": 0.006634868999981336}, "setup": {"outcome": "passed", "duration": 0.0008420330000262766}, "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.0002703679999740416}}, {"call": {"outcome": "passed", "duration": 0.0014025060000335543}, "setup": {"outcome": "passed", "duration": 0.0007909770000082972}, "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.00017575100002886757}}, {"call": {"outcome": "passed", "duration": 0.0023463300000230447}, "setup": {"outcome": "passed", "duration": 0.0003418219999957728}, "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.00017433800002208955}}, {"call": {"outcome": "passed", "duration": 0.019885418999990634}, "setup": {"outcome": "passed", "duration": 0.00035921500000313245}, "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.00022224700001061137}}, {"call": {"outcome": "passed", "duration": 0.018820869000023777}, "setup": {"outcome": "passed", "duration": 0.0003915450000135934}, "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.00020176999998966494}}, {"call": {"outcome": "passed", "duration": 0.00040887899996278065}, "setup": {"outcome": "passed", "duration": 0.00037022599997271755}, "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.00018321499999274238}}, {"call": {"outcome": "passed", "duration": 0.00030945200001042394}, "setup": {"outcome": "passed", "duration": 0.0003632830000128706}, "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.00017943699998568263}}, {"call": {"outcome": "passed", "duration": 0.0005170520000206125}, "setup": {"outcome": "passed", "duration": 0.0002941420000297512}, "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.0001806500000043343}}, {"call": {"outcome": "passed", "duration": 0.0005324809999933677}, "setup": {"outcome": "passed", "duration": 0.0002989619999880233}, "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.00018189200000051642}}, {"call": {"outcome": "passed", "duration": 0.0005626280000115003}, "setup": {"outcome": "passed", "duration": 0.00034283399998003006}, "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.00017735400001583912}}, {"call": {"outcome": "passed", "duration": 0.0004247880000320947}, "setup": {"outcome": "passed", "duration": 0.00035668999998961226}, "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.0002010579999591755}}, {"call": {"outcome": "passed", "duration": 0.0007695159999911994}, "setup": {"outcome": "passed", "duration": 0.0003285079999955087}, "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.00019708999997192223}}, {"call": {"outcome": "passed", "duration": 0.0006282610000312161}, "setup": {"outcome": "passed", "duration": 0.00033664300002556047}, "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.0002759689999720649}}, {"call": {"outcome": "passed", "duration": 0.00028962400000409616}, "setup": {"outcome": "passed", "duration": 0.000454022999974768}, "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.00016702400000667694}}, {"call": {"outcome": "passed", "duration": 0.0003321149999919726}, "setup": {"outcome": "passed", "duration": 0.0002941630000350415}, "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.00017656200003557387}}, {"call": {"outcome": "failed", "duration": 0.0071252299999855495, "longrepr": "013 \n014 \n015 Usage Example\n016 -------------\n017 \n018 The PHA reader hooks into the standard ObsPy event handling\n019 mechanisms including format autodetection.\n020 \n021 >>> from obspy import read_events\n022 >>> cat = read_events('/path/to/example.pha')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.hypodd[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/hypodd/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007175090000259843}, "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.00021676699998351978}}, {"call": {"outcome": "passed", "duration": 0.00032668400001512055}, "setup": {"outcome": "passed", "duration": 0.0011484380000297278}, "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.0001953979999598232}}, {"call": {"outcome": "passed", "duration": 0.00030027499997231644}, "setup": {"outcome": "passed", "duration": 0.0004158920000350008}, "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.000189275999957772}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008493859999703091, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 28, in test_read_pha\n    cat = read_events(self.fname)\n          ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004260609999846565}, "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.00021818999999823063}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007924490000164042, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 65, in test_60s_nan\n    cat = read_events(self.fname2)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000415180999993936}, "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.0002097039999853223}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.05741010799999913, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 79, in test_populate_waveform_id\n    cat = read_events(self.fname, inventory=inv)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006176510000273083}, "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.00031412100003080923}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007899249999923086, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 97, in test_eventid_map\n    cat = read_events(self.fname) + read_events(self.fname2)\n          ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005002300000001014}, "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.00021703800001660056}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014215619999617957, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 124, in test_write_pha\n    cat = read_events(self.fname)\n          ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004473600000096667}, "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.00024131300000362899}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.010495833999982551, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 146, in test_write_pha_minimal\n    cat2 = read_events(tempfile)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042030999998132756}, "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.00042303500003981753}}, {"call": {"outcome": "passed", "duration": 0.21073101799998994}, "setup": {"outcome": "passed", "duration": 0.0013332660000173746}, "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.0002919990000123107}}, {"call": {"outcome": "passed", "duration": 0.4076098140000113}, "setup": {"outcome": "passed", "duration": 0.00056212599997707}, "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.0002990929999668879}}, {"call": {"outcome": "passed", "duration": 0.2029332540000155}, "setup": {"outcome": "passed", "duration": 0.0005752409999786323}, "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.0003250609999554399}}, {"call": {"outcome": "passed", "duration": 0.21424814800002423}, "setup": {"outcome": "passed", "duration": 0.0005832559999703335}, "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.0003018770000267068}}, {"call": {"outcome": "passed", "duration": 0.0003678820000345695}, "setup": {"outcome": "passed", "duration": 0.0005868430000077751}, "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.00021284000001742243}}, {"call": {"outcome": "passed", "duration": 0.00039343899999266796}, "setup": {"outcome": "passed", "duration": 0.0004741209999679086}, "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.0002096640000104344}}, {"call": {"outcome": "passed", "duration": 0.0003093009999588503}, "setup": {"outcome": "passed", "duration": 0.0004492939999636292}, "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.00037739900000133275}}, {"call": {"outcome": "failed", "duration": 0.0052928160000078606, "longrepr": "007 Default : a class to create a \"default\" function accepted by the\n008 python :py:mod:`json` module Encoder classes, valid for\n009 :class:`~obspy.core.event.event.Event` objects.\n010 \n011 Example\n012 -------\n013 >>> import json\n014 >>> from obspy import read_events\n015 >>> from obspy.io.json.default import Default\n016 >>> c = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.json.default[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/json/default.py:16: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007528449999654185}, "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.00019751100001030863}}, {"call": {"outcome": "passed", "duration": 0.0007599880000270787}, "setup": {"outcome": "passed", "duration": 0.004372355999976207}, "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.00019998499999474006}}, {"call": {"outcome": "passed", "duration": 0.0010030149999806781}, "setup": {"outcome": "passed", "duration": 0.003692709000006289}, "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.00019655900001680493}}, {"call": {"outcome": "passed", "duration": 0.010940890999961539}, "setup": {"outcome": "passed", "duration": 0.0036277379999773984}, "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.000227607999988777}}, {"call": {"outcome": "failed", "duration": 0.008127273000013702, "longrepr": "015 :license:\n016     GNU Lesser General Public License, Version 3\n017     (https://www.gnu.org/copyleft/lesser.html)\n018 \n019 Reading\n020 -------\n021 Similar to reading any other waveform data format using obspy.core:\n022 \n023     >>> from obspy import read\n024     >>> st = read(\"/path/to/BI008_MEMA-04823.evt\", apply_calib=False)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.kinemetrics[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/kinemetrics/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006797369999844705}, "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.00020347299999912138}}, {"call": {"outcome": "passed", "duration": 0.0008670590000292577}, "setup": {"outcome": "passed", "duration": 0.0010057499999902575}, "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.00018545900002209237}}, {"call": {"outcome": "passed", "duration": 0.0006453529999816965}, "setup": {"outcome": "passed", "duration": 0.0003452679999895736}, "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.00018178200002694211}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009349470000188376, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 69, in test_read_via_obspy1\n    st = read(filename, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033670300001631404}, "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.00021936199999572636}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009362700000110635, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 95, in test_read_via_obspy2\n    st = read(filename, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003430549999734467}, "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.00019673999997849023}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006547799999907511, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 125, in test_read_via_obspy_and_bytesio1\n    st = read(buf, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003599759999701746}, "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.00021366199996464275}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000521058999993329, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 155, in test_read_via_obspy_and_bytesio2\n    st = read(buf, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003451590000054239}, "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.00019979500001454653}}, {"call": {"outcome": "passed", "duration": 0.04445211699999163}, "setup": {"outcome": "passed", "duration": 0.0003439459999867722}, "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.00026545899999064204}}, {"call": {"outcome": "passed", "duration": 0.10614956299997402}, "setup": {"outcome": "passed", "duration": 0.00045291099996802586}, "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.0002607299999795032}}, {"call": {"outcome": "passed", "duration": 0.15577147499999455}, "setup": {"outcome": "passed", "duration": 0.00042507800003477314}, "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.00024126300002080825}}, {"call": {"outcome": "passed", "duration": 0.04449587900001006}, "setup": {"outcome": "passed", "duration": 0.0004543539999986024}, "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.00033318600003440224}}, {"call": {"outcome": "failed", "duration": 0.06256048699998473, "longrepr": "006 format.\n007 \n008 Write support works via the ObsPy plugin structure for\n009 :class:`~obspy.core.event.Catalog` and\n010 :class:`~obspy.core.inventory.inventory.Inventory`:\n011 \n012 >>> from obspy import read_inventory, read_events\n013 >>> inv = read_inventory()  # load example data\n014 >>> inv.write(\"my_stations.kml\", format=\"KML\")  # doctest: +SKIP\n015 >>> cat = read_events()  # load example data\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.kml[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/kml/__init__.py:15: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008133489999977428}, "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.00025055100002191466}}, {"call": {"outcome": "passed", "duration": 0.06901113999998643}, "setup": {"outcome": "passed", "duration": 0.0011333899999499408}, "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.0002342500000054315}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013697040000124616, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/kml/tests/test_kml.py\", line 33, in test_write_catalog\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004144589999555137}, "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.0002754280000090148}}, {"call": {"outcome": "failed", "duration": 0.00807607699999835, "longrepr": "022 \n023 Reading\n024 -------\n025 \n026 Reading MiniSEED (and the data part of full SEED files) is handled by using\n027 ObsPy's standard :func:`~obspy.core.stream.read` function. The format is\n028 detected automatically.\n029 \n030 >>> from obspy import read\n031 >>> st = read(\"/path/to/test.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.mseed[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/__init__.py:31: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007215349999682985}, "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.00018806299999596376}}, {"call": {"outcome": "failed", "duration": 0.007571278999989772, "longrepr": "368     :param use_bisection: If ``True``, use bisection to locate the start and\n369         end times directly in the file, avoiding a full read. This can reduce\n370         processing time by up to an order of magnitude when a time window is\n371         specified, and is particularly important for large miniSEED files\n372         (e.g., > 2 GB). Only applies to strictly ordered, single-channel files;\n373         the code falls back to the default behavior otherwise.\n374     .. rubric:: Example\n375 \n376     >>> from obspy import read\n377     >>> st = read(\"/path/to/two_channels.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.mseed.core._read_mseed[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/core.py:377: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004465289999870947}, "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.00018446699999685734}}, {"call": {"outcome": "failed", "duration": 0.0058522880000282385, "longrepr": "808         The ``stats.mseed.blkt1001.timing_quality`` value will also be written\n809         if it is set.\n810 \n811         The ``stats.mseed.blkt1001.timing_quality`` value will also be written\n812         if it is set.\n813 \n814     .. rubric:: Example\n815 \n816     >>> from obspy import read\n817     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.mseed.core._write_mseed[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/core.py:817: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003529429999957756}, "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.00020532500002445886}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0028542930000412525, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 44, in test_read_head_file_via_obspy\n    stream = read(gapfile, headonly=True)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0012531550000289826}, "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.0001911290000293775}}, {"call": {"outcome": "passed", "duration": 0.0071461289999774635}, "setup": {"outcome": "passed", "duration": 0.0003457990000015343}, "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.00018028900001354486}}, {"call": {"outcome": "passed", "duration": 0.32690890599997147}, "setup": {"outcome": "passed", "duration": 0.0003688030000148501}, "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.00026139099998090387}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015142660000151409, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 161, in test_downcast_int64_to_int32\n    st2 = read(buf)\n          ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041686299999810217}, "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.00023719600000049468}}, {"call": {"outcome": "passed", "duration": 0.0023124860000507397}, "setup": {"outcome": "passed", "duration": 0.0004044699999781187}, "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.0001909190000333183}}, {"call": {"outcome": "passed", "duration": 0.006161218999977791}, "setup": {"outcome": "passed", "duration": 0.00037577599999849554}, "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.0002086830000394002}}, {"call": {"outcome": "passed", "duration": 0.0018951320000155647}, "setup": {"outcome": "passed", "duration": 0.00042487899997922796}, "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.0001845269999876109}}, {"call": {"outcome": "passed", "duration": 0.0005264289999900029}, "setup": {"outcome": "passed", "duration": 0.000365597000040907}, "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.00017783499998813568}}, {"call": {"outcome": "passed", "duration": 0.015005449000000226}, "setup": {"outcome": "passed", "duration": 0.0003785509999829628}, "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.00024970900000198526}}, {"call": {"outcome": "passed", "duration": 0.0010544419999973798}, "setup": {"outcome": "passed", "duration": 0.00042083000005277427}, "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.00017913699997507138}}, {"call": {"outcome": "passed", "duration": 0.0009722480000391442}, "setup": {"outcome": "passed", "duration": 0.00036815200002138226}, "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.00017669200002501384}}, {"call": {"outcome": "passed", "duration": 0.0009559569999737505}, "setup": {"outcome": "passed", "duration": 0.00034596000000419735}, "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.00019558700000743556}}, {"call": {"outcome": "passed", "duration": 0.0006583570000202599}, "setup": {"outcome": "passed", "duration": 0.00034392599997090656}, "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.00017209300000331496}}, {"call": {"outcome": "passed", "duration": 0.2092939970000316}, "setup": {"outcome": "passed", "duration": 0.00033790499998076484}, "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.00024004099998364836}}, {"call": {"outcome": "passed", "duration": 0.003921088999959466}, "setup": {"outcome": "passed", "duration": 0.00041783500000747154}, "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.00022171699998807526}}, {"call": {"outcome": "passed", "duration": 0.0016663909999579118}, "setup": {"outcome": "passed", "duration": 0.00034884600000850696}, "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.00020769000002474058}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010251970000467736, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 605, in test_read_ms_traces_via_records_multiple_ids\n    st = read(file, starttime=starttime, endtime=endtime)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036313199996129697}, "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.0002069989999995414}}, {"call": {"outcome": "passed", "duration": 0.007197426000004725}, "setup": {"outcome": "passed", "duration": 0.0003211229999919851}, "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.0002119889999789848}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023597549999863077, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 728, in test_write_and_read_different_record_lengths\n    temp_st = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000358064000010927}, "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.00022704700000986122}}, {"call": {"outcome": "passed", "duration": 0.0014700219999781439}, "setup": {"outcome": "passed", "duration": 0.000360116999956972}, "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.00017543899997463086}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001383550000014111, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 752, in test_read_with_wild_card\n    st = read(files)\n         ^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033854699995572446}, "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.0002083319999997002}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002301294999995207, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 775, in test_header\n    stream = read(tempfile)\n             ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003149519999965378}, "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.00019917499997745836}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003190044999996644, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 825, in test_reading_and_writing_via_the_stats_attribute\n    stream2 = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003429239999945821}, "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.00029000500001075125}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009712949999993725, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 843, in test_read_parts_of_file\n    tr1 = read(file, starttime=t[0], endtime=t[1])[0]\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003657069999576379}, "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.00019979600000397113}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010824340000112898, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 858, in test_read_with_gse2_option\n    tr = read(file, verify_chksum=True, starttime=None)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040785599998116595}, "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.0002061879999928351}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008370230000309675, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 872, in test_all_data_types_and_endians_in_multiple_files\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036480500000379834}, "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.0002045640000005733}}, {"call": {"outcome": "passed", "duration": 0.0018779789999712193}, "setup": {"outcome": "passed", "duration": 0.0003194200000393721}, "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.00023140500002227782}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0047803329999851485, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 923, in test_all_data_types_and_endians_in_single_file\n    st2 = read(tempfile)\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034556899998960944}, "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.00021549500002038258}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000892767999971511, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 939, in test_enforce_steim2_with_steim1_as_encoding\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041474899995819214}, "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.00021785899997439628}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010127030000148807, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 987, in test_files_from_libmseed\n    st = read(cur_file)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003764069999760977}, "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.0001925720000031106}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008368620000283045, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1018, in test_writing_microseconds\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003716479999980038}, "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.00019650000001547596}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003341410000018641, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1067, in test_reading_and_writing_dataquality\n    stream = read(tempfile)\n             ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003185089999533375}, "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.00020357200003218168}}, {"call": {"outcome": "passed", "duration": 0.0014215009999816175}, "setup": {"outcome": "passed", "duration": 0.0003375640000058411}, "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.00020181000002139626}}, {"call": {"outcome": "passed", "duration": 0.0004226340000172968}, "setup": {"outcome": "passed", "duration": 0.00035876399999779096}, "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.00018151099999386133}}, {"call": {"outcome": "passed", "duration": 0.00030364999997800624}, "setup": {"outcome": "passed", "duration": 0.0003436559999840938}, "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.000174787999981163}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009006720000002133, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1131, in test_bizarre_files\n    st1 = read(datapath / \"bizarre\" /\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003493060000323567}, "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.00018863399998281238}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002942088999986936, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1176, in test_write_and_read_different_encodings\n    st2 = read(tempfile)\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003275849999795355}, "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.00019910500003561538}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020802490000164653, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1197, in test_issue376\n    st = read(tempfile)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003159839999966607}, "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.0002123390000292602}}, {"call": {"outcome": "passed", "duration": 0.0032693239999730395}, "setup": {"outcome": "passed", "duration": 0.00031313900001350703}, "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.0001850479999916388}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009198679999826709, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1227, in test_read_timing_qual\n    st = read(filename, details=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003818969999542787}, "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.00019159999999374122}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008691129999647274, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1255, in test_corrupt_file_length\n    st = read(filename, reclen=512)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034799399998064473}, "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.00018861500001321474}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009098189999576789, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1268, in test_verbosity\n    st = read(filename, verbose=2)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003431549999959316}, "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.00018883499996036335}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002647656000021925, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1282, in test_writing_with_some_encoding_fails\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003154530000415434}, "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.00019122999998444357}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008062850000101207, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1328, in test_reading_geoscope_16bit_4bit_exponent_format\n    tr = read(testdata['GEOSCOPE16_4_encoding.mseed'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034444699997493444}, "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.00018933599994852557}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008386860000086926, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1343, in test_reading_sro_format\n    tr = read(testdata['SRO_encoding.mseed']).select(component=\"Z\")[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034489800003711935}, "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.00020655899999155736}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008273150000377427, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1354, in test_reading_dwwssn_format\n    tr = read(testdata['DWWSSN_encoding.mseed'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034598999997115243}, "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.00019898400000784022}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007913770000413933, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1365, in test_reading_cdsn_format\n    tr = read(testdata['CDSN_encoding.mseed'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034985799999276423}, "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.00018934600001330182}}, {"call": {"outcome": "passed", "duration": 0.004664795999985927}, "setup": {"outcome": "passed", "duration": 0.0003077880000432742}, "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.0002009780000093997}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023636320000264277, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1611, in test_libmseed_test_cases\n    assert_valid(test_file, ref_file, test_type)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1445, in assert_valid\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003333459999907973}, "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.00019096899995929562}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005234640000253421, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1633, in test_per_trace_mseed_attributes\n    st = read(buf)\n         ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003502379999531513}, "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.00019159999999374122}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008434050000118987, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1670, in test_read_mseed_sr0\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003567109999949025}, "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.00018869499996299055}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014619169999718906, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1692, in test_reading_and_writing_zero_sampling_rate_traces\n    tr2 = read(buf)[0]\n          ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030652600003122643}, "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.00027044800003750424}}, {"call": {"outcome": "passed", "duration": 0.0006346930000518114}, "setup": {"outcome": "passed", "duration": 0.0006038550000084797}, "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.0001717229999940173}}, {"call": {"outcome": "passed", "duration": 0.0005876349999880404}, "setup": {"outcome": "passed", "duration": 0.00033731399997805056}, "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.00017002999999249369}}, {"call": {"outcome": "passed", "duration": 0.0006108380000000579}, "setup": {"outcome": "passed", "duration": 0.00032270700000935904}, "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.000168657000017447}}, {"call": {"outcome": "passed", "duration": 0.001741573000003882}, "setup": {"outcome": "passed", "duration": 0.0008609980000073847}, "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.0001779440000291288}}, {"call": {"outcome": "passed", "duration": 0.0018745529999932842}, "setup": {"outcome": "passed", "duration": 0.0003300199999785036}, "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.00019554799996512884}}, {"call": {"outcome": "passed", "duration": 0.0015256670000098893}, "setup": {"outcome": "passed", "duration": 0.0004243579999752001}, "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.00021904199996924945}}, {"call": {"outcome": "passed", "duration": 0.001617510000016864}, "setup": {"outcome": "passed", "duration": 0.0005490519999966637}, "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.00017965799997909926}}, {"call": {"outcome": "passed", "duration": 0.0027584239999782767}, "setup": {"outcome": "passed", "duration": 0.00036962399997264583}, "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.0002837330000033944}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013240879999898425, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 265, in test_write_wrong_encoding\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040525099996102654}, "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.0001942260000191709}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009881270000278164, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 282, in test_write_wrong_encoding_via_mseed_stats\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038270900000725305}, "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.00023044300002084128}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008952219999969202, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 300, in test_wrong_record_length_as_argument\n    read(file, reclen=111)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036124900003642324}, "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.00019158000003471898}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008674800000108007, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 315, in test_read_with_missing_blockette010\n    tr = read(file)[0]\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004070250000154374}, "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.00019259300000840085}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000862100000006194, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 331, in test_issue160\n    tr_one = read(file)[0]\n             ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037951299998439936}, "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.00018883500001720677}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008563600000002225, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 351, in test_issue217\n    tr = read(file)[0]\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003718290000165325}, "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.0001916299999606963}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0027405409999801122, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 367, in test_issue296\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032871800004841134}, "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.00021735899997565866}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008572309999976824, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 444, in test_issue289\n    st = read(file, starttime=UTCDateTime() - 10, endtime=UTCDateTime())\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038105600003746076}, "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.0001908179999645654}}, {"call": {"outcome": "passed", "duration": 0.00040458000000853644}, "setup": {"outcome": "passed", "duration": 0.00039806800003816534}, "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.00019895400004088515}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008212029999867809, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 481, in test_issue272\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003640150000023823}, "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.0002167370000165647}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008360909999964861, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 495, in test_issue325\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003748149999864836}, "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.00019233200004009632}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002461856000024909, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 533, in test_issue332\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003538150000395035}, "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.00019851299998663308}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023132170000508268, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 551, in test_issue341\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033814599999004713}, "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.00020098800001733252}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008520310000221798, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 574, in test_issue485\n    data = read(filename)[0].data.tolist()\n           ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003705560000071273}, "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.00019909500002768254}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014118029999963255, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 594, in test_enforcing_reading_byteorder\n    tr2 = read(memfile, header_byteorder=\"<\")[0]\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037728900002775845}, "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.00022502299998450326}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015345040000056542, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 651, in test_long_year_range\n    st2 = read(memfile)\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003360310000175559}, "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.0001914199999646371}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008979979999708121, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 666, in test_full_seed_with_non_default_dataquality\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003770289999920351}, "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.00019033800003853685}}, {"call": {"stderr": "Process Process-1:\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/multiprocessing/process.py\", line 314, in _bootstrap\n    self.run()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/multiprocessing/process.py\", line 108, in run\n    self._target(*self._args, **self._kwargs)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 43, in _test_function\n    st = read(filename)  # noqa @UnusedVariable\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n", "outcome": "passed", "duration": 0.028828465999993114}, "setup": {"outcome": "passed", "duration": 0.0003728809999756777}, "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.00044738100001495695}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0034676459999900544, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 737, in test_microsecond_accuracy_reading_and_writing_before_1970\n    tr2 = read(fh)[0]\n          ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007020300000135649}, "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.00023501099997247366}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013634320000051048, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 750, in test_reading_noise_records\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045462399998541514}, "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.00031039400005283824}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009466189999898234, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 772, in test_read_file_with_various_noise_records\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004618080000113878}, "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.00020892200001298988}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009416100000407823, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 806, in test_mseed_zero_data_offset\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037750999996433166}, "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.0002100150000501344}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013437759999987975, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 846, in test_mseed_zero_data_headonly\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004170939999994516}, "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.00019839300000512594}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011861790000011752, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 887, in test_read_file_with_microsecond_wrap\n    tr = read(file)[0]\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038819999997485866}, "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.00020416299997805254}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008739520000062839, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 914, in test_reading_miniseed_with_no_blockette_1000\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003913650000413327}, "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.00020030700000006618}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0031101139999805127, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 948, in test_writing_of_blockette_100\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00048463100000617487}, "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.00019804200002226935}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000869394000005741, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 1030, in test_reading_file_with_data_offset_of_48\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040124399998830995}, "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.00019568800001934505}}, {"call": {"outcome": "passed", "duration": 0.0012708780000139086}, "setup": {"outcome": "passed", "duration": 0.00038921100002653475}, "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.0001815709999846149}}, {"call": {"outcome": "passed", "duration": 0.0009268020000376964}, "setup": {"outcome": "passed", "duration": 0.0003901730000279713}, "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.00018038799998976174}}, {"call": {"outcome": "passed", "duration": 0.0012241709999898376}, "setup": {"outcome": "passed", "duration": 0.0003875080000170783}, "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.00022148600004356922}}, {"call": {"outcome": "passed", "duration": 0.011255742999992435}, "setup": {"outcome": "passed", "duration": 0.000424326999961977}, "lineno": 1131, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_read_file_with_non_valid_blocks_in_between", "outcome": "passed", "keywords": ["test_read_file_with_non_valid_blocks_in_between", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019593799999029216}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009419499999694381, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 1201, in test_reading_files_with_non_ascii_headers\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004016450000108307}, "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.00037616700001308345}}, {"call": {"outcome": "passed", "duration": 0.0006169289999888861}, "setup": {"outcome": "passed", "duration": 0.0006795570000122098}, "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.00017238399999541798}}, {"call": {"outcome": "passed", "duration": 0.00042649199997413234}, "setup": {"outcome": "passed", "duration": 0.0003504090000205906}, "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.00017534900001692222}}, {"call": {"outcome": "passed", "duration": 0.0008110740000120131}, "setup": {"outcome": "passed", "duration": 0.0008958039999811263}, "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.00022550400001364324}}, {"call": {"outcome": "passed", "duration": 0.00042191300002514254}, "setup": {"outcome": "passed", "duration": 0.00036259099999824684}, "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.00017447800001946234}}, {"call": {"outcome": "passed", "duration": 0.0004957820000299762}, "setup": {"outcome": "passed", "duration": 0.0003645350000169856}, "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.00017381700001806166}}, {"call": {"outcome": "passed", "duration": 0.0014051109999968503}, "setup": {"outcome": "passed", "duration": 0.0003776399999537716}, "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.0001751689999878181}}, {"call": {"outcome": "passed", "duration": 0.02441156600002614}, "setup": {"outcome": "passed", "duration": 0.0003279659999861906}, "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.0002880810000078782}}, {"call": {"outcome": "passed", "duration": 0.01287969399999156}, "setup": {"outcome": "passed", "duration": 0.00045546500001591994}, "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.00021302099997910773}}, {"call": {"outcome": "passed", "duration": 0.0036042530000486295}, "setup": {"outcome": "passed", "duration": 0.0004317409999998745}, "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.00019339400000717433}}, {"call": {"outcome": "passed", "duration": 0.005381674000034309}, "setup": {"outcome": "passed", "duration": 0.00040858800002752105}, "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.0001906080000253496}}, {"call": {"outcome": "passed", "duration": 0.0010820739999530815}, "setup": {"outcome": "passed", "duration": 0.00042764400001260583}, "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.00018156199996610667}}, {"call": {"outcome": "passed", "duration": 0.0010831249999796455}, "setup": {"outcome": "passed", "duration": 0.0003919069999938074}, "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.00017968800000289775}}, {"call": {"outcome": "passed", "duration": 0.008448376999979246}, "setup": {"outcome": "passed", "duration": 0.0004082870000274852}, "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.0002084019999983866}}, {"call": {"outcome": "passed", "duration": 0.005899166000006062}, "setup": {"outcome": "passed", "duration": 0.0004222929999855296}, "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.0001914199999646371}}, {"call": {"outcome": "passed", "duration": 0.00392379400000209}, "setup": {"outcome": "passed", "duration": 0.00039477199999282675}, "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.00018844400000261885}}, {"call": {"outcome": "passed", "duration": 0.004026526000018293}, "setup": {"outcome": "passed", "duration": 0.00035180199995465955}, "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.00020496500002309403}}, {"call": {"outcome": "passed", "duration": 0.0019504750000010063}, "setup": {"outcome": "passed", "duration": 0.00036220100002992694}, "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.0001855080000154885}}, {"call": {"outcome": "passed", "duration": 0.001438793000033911}, "setup": {"outcome": "passed", "duration": 0.0003665890000092986}, "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.00017388700001674806}}, {"call": {"outcome": "passed", "duration": 0.021365011000000322}, "setup": {"outcome": "passed", "duration": 0.0003551479999828189}, "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.00027449600003137675}}, {"call": {"outcome": "passed", "duration": 0.001621557000021312}, "setup": {"outcome": "passed", "duration": 0.0004603749999887441}, "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.0001887440000132301}}, {"call": {"outcome": "passed", "duration": 0.0021998340000095595}, "setup": {"outcome": "passed", "duration": 0.000423484999998891}, "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.0001845669999624988}}, {"call": {"outcome": "passed", "duration": 0.0006771330000105991}, "setup": {"outcome": "passed", "duration": 0.0003903229999764335}, "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.00025416800002631135}}, {"call": {"outcome": "passed", "duration": 0.0008087400000249545}, "setup": {"outcome": "passed", "duration": 0.0005248059999871657}, "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.0010802200000057383}}, {"call": {"outcome": "passed", "duration": 0.0020974720000026537}, "setup": {"outcome": "passed", "duration": 0.0016926909999597228}, "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.00020370200002162164}}, {"call": {"outcome": "passed", "duration": 0.0016449109999712164}, "setup": {"outcome": "passed", "duration": 0.0003738530000418905}, "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.00019714000001158638}}, {"call": {"outcome": "passed", "duration": 0.0024857710000105726}, "setup": {"outcome": "passed", "duration": 0.0003558989999987716}, "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.00017814399996041175}}, {"call": {"outcome": "passed", "duration": 0.0011379089999650205}, "setup": {"outcome": "passed", "duration": 0.00037693799998805844}, "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.0001789660000213189}}, {"call": {"outcome": "passed", "duration": 0.0012260329999662645}, "setup": {"outcome": "passed", "duration": 0.0003957039999704648}, "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.0001778449999960685}}, {"call": {"outcome": "passed", "duration": 0.0012227369999777693}, "setup": {"outcome": "passed", "duration": 0.0003675410000028023}, "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.00017495900004860232}}, {"call": {"outcome": "passed", "duration": 0.0012691860000018096}, "setup": {"outcome": "passed", "duration": 0.00038703699999587116}, "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.00033185299997740003}}, {"call": {"outcome": "passed", "duration": 0.02039206199998489}, "setup": {"outcome": "passed", "duration": 0.0005263290000243614}, "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.000248286999976699}}, {"call": {"outcome": "passed", "duration": 0.00711628300001621}, "setup": {"outcome": "passed", "duration": 0.00042762299995047215}, "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.00019577800003389711}}, {"call": {"outcome": "passed", "duration": 0.008602246000009472}, "setup": {"outcome": "passed", "duration": 0.00038503399997580345}, "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.00023694500004012298}}, {"call": {"outcome": "failed", "duration": 0.00851506200001495, "longrepr": "051     Furthermore the depth values will be converted to ``m`` and the source time\n052     function duration will be doubled to adhere to the QuakeML standard.  The\n053     region name in the NDK file will be replaced with its full Flinn-Engdahl\n054     region name using ObsPy's built-in region parser.\n055 \n056 The :func:`~obspy.core.event.read_events` method is used to read NDK files to\n057 :class:`~obspy.core.event.Catalog` objects.\n058 \n059 >>> import obspy\n060 >>> cat = obspy.read_events(\"/path/to/C200604092050A.ndk\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ndk[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ndk/__init__.py:60: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007998730000053911}, "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.00022625599996217716}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.014953010999988692, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 26, in test_read_single_ndk\n    ref_cat = read_events(reference)\n              ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011505719999718167}, "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.0002880920000052356}}, {"call": {"outcome": "passed", "duration": 0.02697363099997574}, "setup": {"outcome": "passed", "duration": 0.00046851000001879584}, "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.0002873490000183665}}, {"call": {"outcome": "passed", "duration": 0.000771981000013966}, "setup": {"outcome": "passed", "duration": 0.0004902719999790861}, "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.00023092399999313784}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009313410000117983, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 85, in test_reading_using_obspy_plugin\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004106810000052974}, "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.00021356099995273325}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00044857199998205033, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 100, in test_reading_from_string_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000371508000000631}, "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.00020231000002013388}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00040163500000289787, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 116, in test_reading_from_bytes_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038502400002471404}, "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.000212269999963155}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004221840000013799, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 130, in test_reading_from_open_file_in_text_mode\n    cat = read_events(fh)\n          ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035324399999581146}, "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.00019218199997794727}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004142690000321636, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 143, in test_reading_from_open_file_in_binary_mode\n    cat = read_events(fh)\n          ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003526929999679851}, "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.0001986230000170508}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008401989999811121, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 157, in test_reading_the_same_file_twice_does_not_raise_a_warnings\n    cat_1 = read_events(filename)\n            ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037282100004176755}, "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.00019168099998978505}}, {"call": {"outcome": "passed", "duration": 0.00035746100002143066}, "setup": {"outcome": "passed", "duration": 0.00037606699999059856}, "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.00017271400002982773}}, {"call": {"outcome": "passed", "duration": 0.00042191300002514254}, "setup": {"outcome": "passed", "duration": 0.0003310719999944922}, "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.0001696889999607265}}, {"call": {"outcome": "passed", "duration": 0.0003722599999491649}, "setup": {"outcome": "passed", "duration": 0.00032879799999818715}, "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.00017609100001436673}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008323650000079397, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 202, in test_reading_file_with_multiple_errors\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035137999998369196}, "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.00019561799996381524}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007367339999859723, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 222, in test_reading_from_string\n    ref_cat = read_events(reference)\n              ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036969500001760025}, "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.00019195100003344123}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000723660000005566, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 239, in test_reading_from_bytestring\n    ref_cat = read_events(reference)\n              ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003538249999905929}, "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.00020324199999777193}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00043011899998646186, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 262, in test_missing_lines\n    cat = read_events(data)\n          ^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003460109999764427}, "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.00019444500003373832}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007391199999915443, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 280, in test_reading_event_with_faulty_but_often_occurring_timestamp\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003355299999725503}, "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.00020060700001067744}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00047513299995216585, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 302, in test_raise_exception_if_no_events_in_file\n    read_events(data)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003438960000039515}, "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.00019777200003545659}}, {"call": {"outcome": "passed", "duration": 0.001975403000017195}, "setup": {"outcome": "passed", "duration": 0.0003548760000171569}, "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.00026996699995152085}}, {"call": {"outcome": "failed", "duration": 0.00845448799998394, "longrepr": "013     GNU Lesser General Public License, Version 3\n014     (https://www.gnu.org/copyleft/lesser.html)\n015 \n016 Example\n017 -------\n018 \n019 It works by utilizing ObsPy's :func:`~obspy.core.event.read_events` function.\n020 \n021 >>> import obspy\n022 >>> cat = obspy.read_events(\"/path/to/FNETMTCATALOG\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.nied[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nied/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007253539999965142}, "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.00021490399996082488}}, {"call": {"outcome": "passed", "duration": 0.01346288999997114}, "setup": {"outcome": "passed", "duration": 0.001126918000011301}, "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.000224783000021489}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004388240000139376, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nied/tests/test_fnetmt_reading.py\", line 26, in test_read_fnetmt_catalog_from_open_files\n    read_events(fh)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039864999996552797}, "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.00020096800000146686}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003878289999761364, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nied/tests/test_fnetmt_reading.py\", line 38, in test_read_fnetmt_catalog_from_bytes_io\n    read_events(buf)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035243199999968056}, "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.0002106160000039381}}, {"call": {"outcome": "passed", "duration": 0.00043339499995909136}, "setup": {"outcome": "passed", "duration": 0.00034131199998910233}, "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.000255179000021144}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009490140000139036, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 16, in test_read_knet_ascii\n    tr = read(testfile)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008036599999741156}, "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.0001926120000348419}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00102994500002751, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 30, in test_read_knet_ascii_from_open_files\n    tr = read(testfile)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003475629999911689}, "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.0002218669999933809}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004624590000048556, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 49, in test_read_knet_ascii_from_bytes_io\n    tr = read(buf)[0]\n         ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034623999999894295}, "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.00019607799998766495}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008369530000322811, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 65, in test_station_name_hack\n    tr = read(testfile, convert_stnm=True)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000363282000023446}, "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.00019917499997745836}}, {"call": {"outcome": "passed", "duration": 0.0003469320000135667}, "setup": {"outcome": "passed", "duration": 0.0003676800000107505}, "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.0002562610000040877}}, {"call": {"outcome": "passed", "duration": 0.0033333240000388287}, "setup": {"outcome": "passed", "duration": 0.0004938080000442824}, "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.00018171100003883112}}, {"call": {"outcome": "failed", "duration": 0.008483351999984734, "longrepr": "014     (https://www.gnu.org/copyleft/lesser.html)\n015 \n016 Example\n017 -------\n018 If NonLinLoc location run was performed using one of the standard projections\n019 available in the NonLinLoc package, it is straightforward to read a NonLinLoc\n020 Hypocenter-Phase file into an ObsPy :class:`~obspy.core.event.Catalog` object:\n021 \n022 >>> from obspy import read_events\n023 >>> cat = read_events(\"/path/to/nlloc.hyp\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.nlloc[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nlloc/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006816320000098131}, "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.0001956069999664578}}, {"call": {"outcome": "passed", "duration": 0.024523074999990513}, "setup": {"outcome": "passed", "duration": 0.0012871889999814812}, "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.0002950239999677251}}, {"call": {"outcome": "passed", "duration": 0.02162614100001292}, "setup": {"outcome": "passed", "duration": 0.0005164799999874958}, "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.00026810299999624476}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005390680999994402, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nlloc/tests/test_core.py\", line 117, in test_read_nlloc_hyp_with_builtin_projection\n    cat_expected = read_events(testdata[\"nlloc.qml\"])\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00046855099998310834}, "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.00029236000000310014}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009679890000029445, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nlloc/tests/test_core.py\", line 222, in test_read_nlloc_hyp_via_plugin\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00048159499999655964}, "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.00022625499997275256}}, {"call": {"outcome": "passed", "duration": 0.01730239599999095}, "setup": {"outcome": "passed", "duration": 0.0004144189999806258}, "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.00027668000001312976}}, {"call": {"outcome": "passed", "duration": 0.0003999910000516138}, "setup": {"outcome": "passed", "duration": 0.00046957299997529844}, "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.00019316300000582487}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00093938499998103, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nlloc/tests/test_core.py\", line 274, in test_read_nlloc_with_picks\n    picks = read_events(testdata[\"nlloc_custom.qml\"])[0].picks\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036962400002948925}, "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.0002078710000432693}}, {"call": {"outcome": "passed", "duration": 0.0054225399999836554}, "setup": {"outcome": "passed", "duration": 0.00038855000002513407}, "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.00022520300001360738}}, {"call": {"outcome": "passed", "duration": 0.006243753999967794}, "setup": {"outcome": "passed", "duration": 0.0003702459999885832}, "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.000197361000005003}}, {"call": {"outcome": "passed", "duration": 0.004549679999968248}, "setup": {"outcome": "passed", "duration": 0.00037923299998965376}, "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.00019342400003097282}}, {"call": {"outcome": "passed", "duration": 0.0033963120000066738}, "setup": {"outcome": "passed", "duration": 0.0003641140000354426}, "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.00019146900001487666}}, {"call": {"outcome": "passed", "duration": 0.003897535000021435}, "setup": {"outcome": "passed", "duration": 0.00037820100004637425}, "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.0001967590000049313}}, {"call": {"outcome": "passed", "duration": 0.00023316800002248783}, "setup": {"outcome": "passed", "duration": 0.0003119360000027882}, "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.00026828399995793006}}, {"call": {"outcome": "passed", "duration": 0.0007146530000454732}, "setup": {"outcome": "passed", "duration": 0.0008463500000175372}, "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.0002020099999526792}}, {"setup": {"outcome": "skipped", "duration": 0.00022764800002050833, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nlloc/tests/test_util.py', 43, 'Skipped: pyproj not installed')"}, "lineno": 42, "nodeid": "io/nlloc/tests/test_util.py::TestNLLOC::test_read_nlloc_scatter_coordinate_conversion", "outcome": "skipped", "keywords": ["test_read_nlloc_scatter_coordinate_conversion", "skipif", "pytestmark", "filterwarnings", "TestNLLOC", "test_util.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026409599996668476}}, {"call": {"outcome": "passed", "duration": 0.0032717789999878732}, "setup": {"outcome": "passed", "duration": 0.0007168069999465843}, "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.00018981700003450896}}, {"call": {"outcome": "passed", "duration": 0.03195552200003249}, "setup": {"outcome": "passed", "duration": 0.0006811289999859582}, "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.0002680040000200279}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.05881754399996453, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 165, in test_write_read_quakeml\n    cat_back = read_events(tf.name)\n               ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008549460000040199}, "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.00029311099996220946}}, {"call": {"outcome": "passed", "duration": 0.004453299000033439}, "setup": {"outcome": "passed", "duration": 0.0004543329999933121}, "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.00022382100002005245}}, {"call": {"outcome": "passed", "duration": 0.03204255599996486}, "setup": {"outcome": "passed", "duration": 0.00036142900000868394}, "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.00025755399997251516}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002546124999980748, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 262, in test_blanksfile\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004069240000035279}, "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.00022244799998816234}}, {"call": {"outcome": "passed", "duration": 0.0016945950000035737}, "setup": {"outcome": "passed", "duration": 0.0003430849999972452}, "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.00019425499999670137}}, {"call": {"outcome": "passed", "duration": 0.06686142000000928}, "setup": {"outcome": "passed", "duration": 0.00037234000001262757}, "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.0002740150000022368}}, {"call": {"outcome": "passed", "duration": 0.02712964400001283}, "setup": {"outcome": "passed", "duration": 0.00046416199995746865}, "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.00024650299997119873}}, {"call": {"outcome": "passed", "duration": 0.005523649999986446}, "setup": {"outcome": "passed", "duration": 0.00046503400000119655}, "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.00020492500004820613}}, {"call": {"outcome": "passed", "duration": 0.0005321099999946455}, "setup": {"outcome": "passed", "duration": 0.00039529299999685463}, "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.00019072899999628135}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00046314100001154657, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 378, in test_reading_string_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037398199998506243}, "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.0002299319999679028}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00042705200002046695, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 393, in test_reading_bytes_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003542759999959344}, "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.00020280100000036327}}, {"call": {"outcome": "passed", "duration": 0.0007993520000013632}, "setup": {"outcome": "passed", "duration": 0.00034905600000456616}, "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.00021273999999493753}}, {"call": {"outcome": "passed", "duration": 0.21952140799999142}, "setup": {"outcome": "passed", "duration": 0.00030312000001231354}, "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.00037483500000234926}}, {"call": {"outcome": "passed", "duration": 0.0004166630000099758}, "setup": {"outcome": "passed", "duration": 0.0005788070000107837}, "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.00022350000000415093}}, {"call": {"outcome": "passed", "duration": 0.0003900020000173754}, "setup": {"outcome": "passed", "duration": 0.00042318499998827974}, "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.00026893599999766593}}, {"call": {"outcome": "passed", "duration": 0.023040109000021403}, "setup": {"outcome": "passed", "duration": 0.0004898899999830064}, "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.0002358630000003359}}, {"call": {"outcome": "passed", "duration": 0.014526839999973618}, "setup": {"outcome": "passed", "duration": 0.0004606560000297577}, "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.00023138400001698756}}, {"call": {"outcome": "passed", "duration": 0.04479361900001777}, "setup": {"outcome": "passed", "duration": 0.0004467999999633321}, "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.00034865500003888883}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004228817000011986, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 520, in test_read_latin1\n    cat = read_events(dos_file)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005038959999978943}, "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.0002231700000265846}}, {"call": {"outcome": "passed", "duration": 0.7481641930000364}, "setup": {"outcome": "passed", "duration": 0.0004230249999750413}, "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.0002500800000007075}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014245670000150312, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 539, in test_write_select\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004045700000006036}, "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.0001973309999812045}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011233110000148372, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 554, in test_write_select_new\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003292079999823727}, "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.00020163799996453236}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001100909000001593, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 569, in test_write_plugin\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003028599999765902}, "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.00019755099998519654}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.01730943899997328, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 598, in test_more_than_three_mags\n    cat_back = read_events(tf.name)\n               ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030139699998699143}, "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.00024468000003707857}}, {"call": {"outcome": "passed", "duration": 0.013932473000011214}, "setup": {"outcome": "passed", "duration": 0.00038319100002581763}, "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.00019901400003163872}}, {"call": {"outcome": "passed", "duration": 0.009301098999969781}, "setup": {"outcome": "passed", "duration": 0.0003904540000121415}, "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.0002137820000029933}}, {"call": {"outcome": "passed", "duration": 0.025630537000040476}, "setup": {"outcome": "passed", "duration": 0.0003626810000127989}, "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.0002107969999656234}}, {"call": {"outcome": "passed", "duration": 0.0018751339999880656}, "setup": {"outcome": "passed", "duration": 0.0004178550000233372}, "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.0001785050000080446}}, {"call": {"outcome": "passed", "duration": 0.0012393089999704898}, "setup": {"outcome": "passed", "duration": 0.00037894199999755074}, "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.00018961600000011458}}, {"call": {"outcome": "passed", "duration": 0.007223313999986658}, "setup": {"outcome": "passed", "duration": 0.00033554100002675114}, "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.00019263100000443956}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009176450000154546, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 708, in test_distance_conversion\n    cat = read_events(testing_path)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003774489999841535}, "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.00019136000003072695}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.009902098999987174, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 728, in test_large_negative_longitude\n    event_back = read_events(tf.name)\n                 ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003080279999494451}, "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.000225424000007024}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.009673227999996925, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 746, in test_write_preferred_origin\n    event_back = read_events(tf.name)\n                 ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003262529999688013}, "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.00020106799996710834}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007476860000110719, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 760, in test_read_high_precision_pick\n    cat = read_events(\n          ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003812870000388102}, "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.00018859400000792448}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007252229999608062, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 779, in test_high_precision_read_write\n    cat = read_events(testdata['sfile_high_precision_picks'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003421529999627637}, "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.00019146899995803324}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007459519999883923, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 824, in test_long_phase_name\n    cat = read_events(testdata['sfile_long_phase'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003383859999530614}, "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.00018548899998904744}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.009498269000005166, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 856, in test_read_write_over_day\n    event_back = read_events(tf.name)[0]\n                 ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002984709999509505}, "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.0002502609999623928}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008602569999993648, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 865, in test_seconds_overflow\n    cat = read_events(testdata['sfile_seconds_overflow'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003982779999773811}, "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.0002334690000225237}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012982089999695745, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 892, in test_read_bad_covariance\n    cat = read_events(testdata['sfile_bad_covariance'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004336449999868819}, "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.00021137800001724827}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009446660000094198, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 901, in test_read_high_accuracy\n    cat = read_events(testdata['sfile_highaccuracy'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041720400002986935}, "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.0002912170000399783}}, {"call": {"outcome": "passed", "duration": 0.0025194849999934377}, "setup": {"outcome": "passed", "duration": 0.0003410200000075747}, "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.00018557899994675608}}, {"call": {"outcome": "passed", "duration": 0.0004510569999638392}, "setup": {"outcome": "passed", "duration": 0.0003270240000006197}, "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.00017531899999312373}}, {"call": {"outcome": "passed", "duration": 0.0004908220000174879}, "setup": {"outcome": "passed", "duration": 0.00031655499998350933}, "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.00017515899997988527}}, {"call": {"outcome": "passed", "duration": 0.000355678000005355}, "setup": {"outcome": "passed", "duration": 0.0003295889999890278}, "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.0001665120000211573}}, {"call": {"outcome": "passed", "duration": 0.0003862459999481871}, "setup": {"outcome": "passed", "duration": 0.0002974080000512913}, "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.00016702400000667694}}, {"call": {"outcome": "passed", "duration": 0.0010191560000407662}, "setup": {"outcome": "passed", "duration": 0.0003149110000322253}, "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.0001755900000262045}}, {"call": {"outcome": "passed", "duration": 0.04506590099998675}, "setup": {"outcome": "passed", "duration": 0.0005126030000042192}, "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.0003629620000538125}}, {"call": {"outcome": "passed", "duration": 0.04686162500001956}, "setup": {"outcome": "passed", "duration": 0.0006453429999737637}, "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.0003315629999747216}}, {"call": {"outcome": "passed", "duration": 0.05107952200000909}, "setup": {"outcome": "passed", "duration": 0.0005755320000275788}, "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.0003536440000289076}}, {"call": {"outcome": "passed", "duration": 0.08400893500004258}, "setup": {"outcome": "passed", "duration": 0.0006759809999721256}, "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.0003509999999664615}}, {"call": {"outcome": "passed", "duration": 0.08222827800000232}, "setup": {"outcome": "passed", "duration": 0.0006526070000063555}, "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.0003448880000291865}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009538230000316616, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 1134, in test_read_uncert_ellipse\n    cat = read_events(testdata['sfile_highaccuracy'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042430700000295474}, "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.0002019689999883667}}, {"call": {"outcome": "passed", "duration": 0.01485726999999315}, "setup": {"outcome": "passed", "duration": 0.0003773089999867807}, "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.00022533400004931536}}, {"call": {"outcome": "passed", "duration": 0.04949864100001378}, "setup": {"outcome": "passed", "duration": 0.00041050099997619327}, "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.0004262909999965814}}, {"call": {"outcome": "skipped", "duration": 0.0002739649999625726, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.000613332000000355}, "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.0002099140000382249}}, {"call": {"outcome": "passed", "duration": 0.003372989000013149}, "setup": {"outcome": "passed", "duration": 0.00037689900000259513}, "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.0001935639999715022}}, {"call": {"outcome": "passed", "duration": 0.003083034000042062}, "setup": {"outcome": "passed", "duration": 0.00038242800002308286}, "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.00018326399998613851}}, {"call": {"outcome": "skipped", "duration": 0.00021864100000357212, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003405900000075235}, "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.0001794870000253468}}, {"call": {"outcome": "passed", "duration": 0.003093664000004992}, "setup": {"outcome": "passed", "duration": 0.00036390399998253997}, "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.00019075800003065524}}, {"call": {"outcome": "failed", "duration": 0.00857208900004025, "longrepr": "048 \n049     :type filename: str\n050     :param filename: PDAS file to be read.\n051     :rtype: :class:`~obspy.core.stream.Stream`\n052     :return: An ObsPy Stream object.\n053 \n054     .. rubric:: Example\n055 \n056     >>> from obspy import read\n057     >>> st = read(\"/path/to/p1246001.108\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.pdas.core._read_pdas[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/pdas/core.py:57: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007220170000437065}, "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.00021857100000488572}}, {"call": {"outcome": "passed", "duration": 0.000905572000021948}, "setup": {"outcome": "passed", "duration": 0.0010367779999569393}, "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.00019586800004844918}}, {"call": {"outcome": "passed", "duration": 0.0002869389999773375}, "setup": {"outcome": "passed", "duration": 0.0003376739999794154}, "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.0002399410000180069}}, {"call": {"outcome": "skipped", "duration": 0.00021576599999661994, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0006442010000000664}, "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.0004084570000486565}}, {"call": {"outcome": "failed", "duration": 0.009010734000014509, "longrepr": "1071 \n1072     :type filename: str or :class:`~pathlib.Path`\n1073     :param filename: mchedr file to be read.\n1074     :rtype: :class:`~obspy.core.event.Catalog`\n1075     :return: An ObsPy Catalog object.\n1076 \n1077     .. rubric:: Example\n1078 \n1079     >>> from obspy.core.event import read_events\n1080     >>> cat = read_events('/path/to/mchedr.dat')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.pde.mchedr._read_mchedr[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/pde/mchedr.py:1080: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032056200001306934}, "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.00022874899997304965}}, {"call": {"outcome": "passed", "duration": 0.0006462639999540443}, "setup": {"outcome": "passed", "duration": 0.07100337400004264}, "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.0002895039999657456}}, {"call": {"outcome": "passed", "duration": 0.0005456459999777508}, "setup": {"outcome": "passed", "duration": 0.06988881900002752}, "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.00041826599999694736}}, {"call": {"outcome": "passed", "duration": 0.0005665950000093289}, "setup": {"outcome": "passed", "duration": 0.07276861999997664}, "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.00026362599999174563}}, {"call": {"outcome": "passed", "duration": 0.0005214200000409619}, "setup": {"outcome": "passed", "duration": 0.07600759799998968}, "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.00033140299996148315}}, {"call": {"outcome": "passed", "duration": 0.0004404969999995956}, "setup": {"outcome": "passed", "duration": 0.0721745640000222}, "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.000329509000039252}}, {"call": {"outcome": "passed", "duration": 0.00043327499997758423}, "setup": {"outcome": "passed", "duration": 0.07309018600000172}, "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.0003201520000288838}}, {"call": {"outcome": "passed", "duration": 0.00043601999999509644}, "setup": {"outcome": "passed", "duration": 0.07118264999996882}, "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.00029620699996257827}}, {"call": {"outcome": "passed", "duration": 0.00042849599998362464}, "setup": {"outcome": "passed", "duration": 0.07343224900000678}, "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.00026736199998822485}}, {"call": {"outcome": "passed", "duration": 0.0005840980000471063}, "setup": {"outcome": "passed", "duration": 0.07101278099997899}, "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.00025107200002594254}}, {"call": {"outcome": "passed", "duration": 0.12364718499998162}, "setup": {"outcome": "passed", "duration": 0.06985763000000134}, "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.0003074779999678867}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001113110999995115, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/pde/tests/test_mchedr.py\", line 307, in test_read_events\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.06915479999997842}, "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.0005219309999802135}}, {"call": {"outcome": "passed", "duration": 0.003746379999995497}, "setup": {"outcome": "passed", "duration": 0.0007856870000182425}, "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.00021242899998696885}}, {"call": {"outcome": "passed", "duration": 0.0033305289999816523}, "setup": {"outcome": "passed", "duration": 0.0003413610000393419}, "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.00018905499996435537}}, {"call": {"outcome": "passed", "duration": 0.002989177000017662}, "setup": {"outcome": "passed", "duration": 0.00032536099996605117}, "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.00020352199999251752}}, {"call": {"outcome": "passed", "duration": 0.00300224199997956}, "setup": {"outcome": "passed", "duration": 0.00032253599999876315}, "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.00018489800004317658}}, {"call": {"outcome": "passed", "duration": 0.002969720999999481}, "setup": {"outcome": "passed", "duration": 0.00032070299999986673}, "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.00018446699999685734}}, {"call": {"outcome": "passed", "duration": 0.003135532999976931}, "setup": {"outcome": "passed", "duration": 0.00034233299999186784}, "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.00018319399998745212}}, {"call": {"outcome": "passed", "duration": 0.0029149379999466873}, "setup": {"outcome": "passed", "duration": 0.00031698599997298516}, "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.00018228300001510434}}, {"call": {"outcome": "skipped", "duration": 0.00023083299998916118, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00032235600002650244}, "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.00017928700003722042}}, {"call": {"outcome": "failed", "duration": 0.004259395000019595, "longrepr": "1818 \n1819     :type filename: str\n1820     :param filename: QuakeML file to be read.\n1821     :rtype: :class:`~obspy.core.event.Catalog`\n1822     :return: An ObsPy Catalog object.\n1823 \n1824     .. rubric:: Example\n1825 \n1826     >>> from obspy.core.event import read_events\n1827     >>> cat = read_events('/path/to/iris_events.xml')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.quakeml.core._read_quakeml[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/quakeml/core.py:1827: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005129940000188071}, "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.00019031699997640317}}, {"call": {"outcome": "passed", "duration": 0.01431749599998966}, "setup": {"outcome": "passed", "duration": 0.001094045999991522}, "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.00021383099999638944}}, {"call": {"outcome": "passed", "duration": 0.005535954000038146}, "setup": {"outcome": "passed", "duration": 0.0004104820000065956}, "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.00019867399998929614}}, {"call": {"outcome": "passed", "duration": 0.0029018429999609907}, "setup": {"outcome": "passed", "duration": 0.00039248699999916425}, "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.0001905679999936183}}, {"call": {"outcome": "passed", "duration": 0.005163412999991124}, "setup": {"outcome": "passed", "duration": 0.00035728199998175114}, "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.0001964000000498345}}, {"call": {"outcome": "passed", "duration": 0.0023649150000437658}, "setup": {"outcome": "passed", "duration": 0.00038234900000588823}, "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.0002105159999814532}}, {"call": {"outcome": "passed", "duration": 0.002023724000025595}, "setup": {"outcome": "passed", "duration": 0.000355678000005355}, "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.0001877629999853525}}, {"call": {"outcome": "passed", "duration": 0.0019976340000198434}, "setup": {"outcome": "passed", "duration": 0.00037219999995841135}, "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.00018825400002242532}}, {"call": {"outcome": "passed", "duration": 0.0035901470000112568}, "setup": {"outcome": "passed", "duration": 0.00035257300004332137}, "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.00019062799998437185}}, {"call": {"outcome": "passed", "duration": 0.004285162999963177}, "setup": {"outcome": "passed", "duration": 0.00037909200000285637}, "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.0002083620000234987}}, {"call": {"outcome": "passed", "duration": 0.003882986999997229}, "setup": {"outcome": "passed", "duration": 0.00034406599996827936}, "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.0001937740000244048}}, {"call": {"outcome": "passed", "duration": 0.010759971000027235}, "setup": {"outcome": "passed", "duration": 0.00037054599999919446}, "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.00019502700001794437}}, {"call": {"outcome": "passed", "duration": 0.009798163999960252}, "setup": {"outcome": "passed", "duration": 0.00038122600000178863}, "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.00019858299998531947}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010233329999778107, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 562, in test_read_events\n    catalog = read_events(testdata['neries_events.xml'])\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037944299998571296}, "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.00021984400001429094}}, {"call": {"outcome": "passed", "duration": 0.0015936859999783337}, "setup": {"outcome": "passed", "duration": 0.00034205299999712224}, "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.0001886050000052819}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004576699999461198, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 646, in test_read_string\n    catalog = read_events(data)\n              ^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 730, in _generic_reader\n    return callback_func(io.BytesIO(pathname_or_url), **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034824499999785985}, "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.00019881299999724433}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013936889999968116, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 661, in test_preferred_tags\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003428740000117614}, "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.00019994499996300874}}, {"call": {"outcome": "passed", "duration": 0.008681925000018964}, "setup": {"outcome": "passed", "duration": 0.0003320040000289737}, "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.0001976010000248607}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008326150000357302, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 756, in test_read_equivalence\n    cat1 = read_events(testdata['neries_events.xml'])\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000380435000010948}, "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.0001984529999958795}}, {"call": {"outcome": "passed", "duration": 0.006839282999976604}, "setup": {"outcome": "passed", "duration": 0.00036516599999458776}, "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.00018679099997598314}}, {"call": {"outcome": "passed", "duration": 0.0035453520000032768}, "setup": {"outcome": "passed", "duration": 0.0003425740000011501}, "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.00018233299999792507}}, {"call": {"outcome": "passed", "duration": 0.004995397000016055}, "setup": {"outcome": "passed", "duration": 0.000360177000004569}, "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.00018980599998030812}}, {"call": {"outcome": "passed", "duration": 0.01124376000001348}, "setup": {"outcome": "passed", "duration": 0.0003450590000397824}, "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.00019944500002111454}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003934800000138239, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 990, in test_read_same_file_twice_to_same_variable\n    cat1 = read_events(sio)  # NOQA\n           ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003471119999858274}, "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.00022920999998632396}}, {"call": {"outcome": "passed", "duration": 0.005467124000006152}, "setup": {"outcome": "passed", "duration": 0.00029943200001980586}, "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.00019280300000446005}}, {"call": {"outcome": "passed", "duration": 0.010404934000007415}, "setup": {"outcome": "passed", "duration": 0.0003038010000295799}, "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.00022536300002684584}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009010439999883602, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 1060, in test_writing_invalid_quakeml_id\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041105200000401965}, "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.0002249629999937497}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008229660000438344, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 1083, in test_reading_invalid_enums\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035675099996979043}, "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.00020762100001547878}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013454190000175004, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 1101, in test_issue_2339\n    cat1 = Catalog(events=[read_events()[0]])\n                           ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0016565829999990456}, "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.00019575700002860685}}, {"call": {"outcome": "passed", "duration": 0.0022623120000275776}, "setup": {"outcome": "passed", "duration": 0.00030988299999989977}, "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.00027983699999367673}}, {"call": {"outcome": "failed", "duration": 0.009396810999987792, "longrepr": "044 .KW1..EH0 | 2015-10-09T22:51:11.675000Z - ... | 200.0 Hz, 2743 samples\n045 .KW1..EH1 | 2015-10-09T22:50:51.000000Z - ... | 200.0 Hz, 3107 samples\n046 .KW1..EH1 | 2015-10-09T22:51:05.925000Z - ... | 200.0 Hz, 768 samples\n047 .KW1..EH1 | 2015-10-09T22:51:10.765000Z - ... | 200.0 Hz, 2925 samples\n048 .KW1..EH2 | 2015-10-09T22:50:51.000000Z - ... | 200.0 Hz, 3405 samples\n049 .KW1..EH2 | 2015-10-09T22:51:08.415000Z - ... | 200.0 Hz, 3395 samples\n050 \n051 Network, location and component codes can be specified during reading:\n052 \n053 >>> st = read(\"/path/to/225051000_00008656\", network=\"BW\", location=\"\",\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.reftek[4]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/reftek/__init__.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007454099999790742}, "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.0002238000000147622}}, {"call": {"outcome": "passed", "duration": 0.021359235000034005}, "setup": {"outcome": "passed", "duration": 0.0011962189999508155}, "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.0002684749999843916}}, {"call": {"outcome": "passed", "duration": 0.004385632999969857}, "setup": {"outcome": "passed", "duration": 0.00048282699998480894}, "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.00021105700000134675}}, {"call": {"outcome": "passed", "duration": 0.01989595399999189}, "setup": {"outcome": "passed", "duration": 0.00043981699997175383}, "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.00023464100002001942}}, {"call": {"outcome": "passed", "duration": 0.0006224800000040887}, "setup": {"outcome": "passed", "duration": 0.0004942389999769148}, "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.00020090699996444528}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008129170000188424, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/reftek/tests/test_core.py\", line 203, in test_integration_with_obspy_core\n    st_reftek = obspy.read(\n                ^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004550259999973605}, "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.0002826809999874058}}, {"call": {"outcome": "passed", "duration": 0.000994478999984949}, "setup": {"outcome": "passed", "duration": 0.0005944469999690227}, "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.0002060770000298362}}, {"call": {"outcome": "passed", "duration": 0.013084201000026496}, "setup": {"outcome": "passed", "duration": 0.0004554559999974117}, "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.0002267959999926461}}, {"call": {"outcome": "passed", "duration": 0.022787999000001946}, "setup": {"outcome": "passed", "duration": 0.00046043499997949766}, "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.0002456120000147166}}, {"call": {"outcome": "passed", "duration": 0.012821256999984598}, "setup": {"outcome": "passed", "duration": 0.0005068529999903149}, "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.0002217659999814714}}, {"call": {"outcome": "passed", "duration": 0.019235342000001765}, "setup": {"outcome": "passed", "duration": 0.0004654049999999188}, "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.00022750799996629212}}, {"call": {"outcome": "passed", "duration": 0.019423757000026853}, "setup": {"outcome": "passed", "duration": 0.0004970040000102927}, "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.00023596300002282078}}, {"call": {"outcome": "passed", "duration": 0.0013849530000129562}, "setup": {"outcome": "passed", "duration": 0.0004997789999947599}, "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.00020736000004717425}}, {"call": {"outcome": "passed", "duration": 0.0015842370000314077}, "setup": {"outcome": "passed", "duration": 0.0004787400000054731}, "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.0001966190000075585}}, {"call": {"outcome": "passed", "duration": 0.0015484400000218557}, "setup": {"outcome": "passed", "duration": 0.00044561700002532234}, "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.00020098700002790792}}, {"call": {"outcome": "passed", "duration": 0.00260694999997213}, "setup": {"outcome": "passed", "duration": 0.0004428619999998773}, "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.00020084800001995973}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00130364000000327, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/reftek/tests/test_core.py\", line 508, in test_reading_packet_with_vpu_float_string\n    st = obspy.read(self.reftek_file_vpu,\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044410499998548403}, "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.00022583499998063417}}, {"call": {"outcome": "passed", "duration": 0.021958911000012904}, "setup": {"outcome": "passed", "duration": 0.00042171300003701617}, "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.00023815700001250661}}, {"call": {"outcome": "passed", "duration": 0.0026289109999879656}, "setup": {"outcome": "passed", "duration": 0.0004782789999921988}, "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.00020522599999139857}}, {"call": {"outcome": "passed", "duration": 0.004341720000013538}, "setup": {"outcome": "passed", "duration": 0.00043971700000611236}, "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.0002102650000210815}}, {"call": {"outcome": "passed", "duration": 0.004393337000010433}, "setup": {"outcome": "passed", "duration": 0.00043975699998100026}, "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.0005226720000450769}}, {"call": {"outcome": "failed", "duration": 0.009773057999950652, "longrepr": "044 Several key word arguments are available: ``headonly``, ``starttime``,\n045 ``endtime``, ``merge``, ``contacts_north``, ``details``. They are passed to the\n046 :func:`obspy.io.rg16.core._read_rg16` function so refer to it for details to\n047 each parameter.\n048 \n049 >>> import obspy\n050 >>> from obspy.core.util import get_example_file\n051 >>> filename = get_example_file('three_chans_six_traces.fcnt')\n052 >>> # these are all equivalent:\n053 >>> st = obspy.read(filename)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.rg16[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/rg16/__init__.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007211150000330235}, "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.00019932399999333938}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008390369999915492, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/rg16/tests/test_read_rg16.py\", line 31, in test_reading_rg16_files\n    st_1 = read(fcnt_file)\n           ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011155569999914405}, "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.00026894600000559876}}, {"call": {"outcome": "passed", "duration": 0.0008992699999907927}, "setup": {"outcome": "passed", "duration": 0.000420731000019714}, "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.000202209999997649}}, {"call": {"outcome": "passed", "duration": 0.0002794750000134627}, "setup": {"outcome": "passed", "duration": 0.00043641000002025976}, "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.00019758100000899503}}, {"call": {"outcome": "passed", "duration": 0.005284923000033359}, "setup": {"outcome": "passed", "duration": 0.00040040300001464857}, "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.00020685900000216861}}, {"call": {"outcome": "passed", "duration": 0.01079039000001103}, "setup": {"outcome": "passed", "duration": 0.0004328440000449518}, "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.00021493399998462337}}, {"call": {"outcome": "passed", "duration": 0.00961215600000287}, "setup": {"outcome": "passed", "duration": 0.0004262310000058278}, "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.0002514219999625311}}, {"call": {"outcome": "passed", "duration": 0.028162500999997064}, "setup": {"outcome": "passed", "duration": 0.000489760999982991}, "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.0002509919999624799}}, {"call": {"outcome": "passed", "duration": 0.011958986999957233}, "setup": {"outcome": "passed", "duration": 0.0004913630000373814}, "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.00023243699996555733}}, {"call": {"outcome": "passed", "duration": 0.0008032700000057957}, "setup": {"outcome": "passed", "duration": 0.00048564200000100755}, "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.00020922300001302574}}, {"call": {"outcome": "passed", "duration": 0.0003314829999681024}, "setup": {"outcome": "passed", "duration": 0.000446058000022731}, "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.00019987600001059036}}, {"call": {"outcome": "passed", "duration": 0.002526086999978361}, "setup": {"outcome": "passed", "duration": 0.0005584889999568077}, "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.0001986930000157372}}, {"call": {"outcome": "passed", "duration": 0.00026443699999845194}, "setup": {"outcome": "passed", "duration": 0.0004362909999713338}, "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.00018844400000261885}}, {"call": {"outcome": "passed", "duration": 0.00033721299996614107}, "setup": {"outcome": "passed", "duration": 0.0004022859999963657}, "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.0001907480000227224}}, {"call": {"outcome": "passed", "duration": 0.00027116000001115026}, "setup": {"outcome": "passed", "duration": 0.00042139199996427124}, "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.00020585699996900075}}, {"call": {"outcome": "passed", "duration": 0.0003124679999473301}, "setup": {"outcome": "passed", "duration": 0.000399991999984195}, "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.00018355399998881694}}, {"call": {"outcome": "passed", "duration": 0.0004163730000072974}, "setup": {"outcome": "passed", "duration": 0.00040204600003335145}, "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.00018798300004618795}}, {"call": {"outcome": "passed", "duration": 0.0003170350000232247}, "setup": {"outcome": "passed", "duration": 0.0004239770000253884}, "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.00021211799997900016}}, {"call": {"outcome": "passed", "duration": 0.00031289800000422474}, "setup": {"outcome": "passed", "duration": 0.0003977079999799571}, "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.00018299399999932575}}, {"call": {"outcome": "passed", "duration": 0.00029985300000134885}, "setup": {"outcome": "passed", "duration": 0.0004308400000354595}, "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.00018819400003167175}}, {"call": {"outcome": "passed", "duration": 0.000294773999996778}, "setup": {"outcome": "passed", "duration": 0.00041457899999386427}, "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.00018502800003261655}}, {"call": {"outcome": "passed", "duration": 0.000329097999951955}, "setup": {"outcome": "passed", "duration": 0.0005186750000234497}, "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.0001917000000162261}}, {"call": {"outcome": "passed", "duration": 0.00030730800000355885}, "setup": {"outcome": "passed", "duration": 0.0004202200000236189}, "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.00018784299999197174}}, {"call": {"outcome": "passed", "duration": 0.0002741950000313409}, "setup": {"outcome": "passed", "duration": 0.00039445099997692523}, "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.00018384500003776338}}, {"call": {"outcome": "passed", "duration": 0.0012518929999600914}, "setup": {"outcome": "passed", "duration": 0.0003943710000271494}, "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.0001921510000215676}}, {"call": {"outcome": "passed", "duration": 0.007528410000020358}, "setup": {"outcome": "passed", "duration": 0.000430590000007669}, "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.00020543599998745776}}, {"call": {"outcome": "passed", "duration": 0.0006130029999553699}, "setup": {"outcome": "passed", "duration": 0.00045515499999737585}, "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.00019569800002727789}}, {"call": {"outcome": "passed", "duration": 0.0002864680000129738}, "setup": {"outcome": "passed", "duration": 0.0004362900000387526}, "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.00018708199996808617}}, {"call": {"outcome": "passed", "duration": 0.0012487669999927675}, "setup": {"outcome": "passed", "duration": 0.000411031999988154}, "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.0001925819999542}}, {"call": {"outcome": "passed", "duration": 0.0006627360000379667}, "setup": {"outcome": "passed", "duration": 0.0004320719999668654}, "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.00019052799996188696}}, {"call": {"outcome": "passed", "duration": 0.0005662439999696289}, "setup": {"outcome": "passed", "duration": 0.00043834299998479764}, "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.00019246100004011168}}, {"call": {"outcome": "passed", "duration": 0.00032489100004795546}, "setup": {"outcome": "passed", "duration": 0.0004220829999894704}, "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.0002197630000182471}}, {"call": {"outcome": "passed", "duration": 0.0003127379999909863}, "setup": {"outcome": "passed", "duration": 0.00040648399999554385}, "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.00018666099998654317}}, {"call": {"outcome": "passed", "duration": 0.0006808400000295478}, "setup": {"outcome": "passed", "duration": 0.0004048110000098859}, "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.00019381499998871732}}, {"call": {"outcome": "passed", "duration": 0.0017497590000061791}, "setup": {"outcome": "passed", "duration": 0.0004281649999597903}, "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.0006580759999792463}}, {"call": {"outcome": "passed", "duration": 0.0006637280000063583}, "setup": {"outcome": "passed", "duration": 0.000459223000007114}, "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.0001720729999874493}}, {"call": {"outcome": "passed", "duration": 0.00026767299999619354}, "setup": {"outcome": "passed", "duration": 0.00031204600003320593}, "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.00016675299997359616}}, {"call": {"outcome": "passed", "duration": 0.00023012200000493976}, "setup": {"outcome": "passed", "duration": 0.0002895250000278793}, "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.0002430769999932636}}, {"call": {"outcome": "failed", "duration": 0.01008679800003165, "longrepr": "017 (LANL) and copyrighted for Los Alamos National Security, LLC under\n018 LA-CC-15-051.\n019 \n020 Reading\n021 -------\n022 Similar to reading any other waveform data format using\n023 :func:`~obspy.core.stream.read()`:\n024 \n025 >>> from obspy import read\n026 >>> st = read('/path/to/test.sac', debug_headers=True)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/__init__.py:26: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007223380000027646}, "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.0002303429999983564}}, {"call": {"outcome": "failed", "duration": 0.009469466999973974, "longrepr": "236         microseconds before calculating sampling rate to avoid floating point\n237         accuracy issues with some SAC files (see #3408)\n238     :type round_sampling_interval: bool\n239     :rtype: :class:`~obspy.core.stream.Stream`\n240     :return: A ObsPy Stream object.\n241 \n242     .. rubric:: Example\n243 \n244     >>> from obspy import read\n245     >>> st = read(\"/path/to/testxy.sac\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._internal_read_sac_xy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/core.py:245: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004852620000406205}, "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.00021928199998910713}}, {"call": {"outcome": "passed", "duration": 0.011470948999999564}, "setup": {"outcome": "passed", "duration": 0.0005323710000197934}, "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.00021747900001400922}}, {"call": {"outcome": "passed", "duration": 0.012881219999997029}, "setup": {"outcome": "passed", "duration": 0.00034859499999129184}, "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.00022200699999075368}}, {"call": {"outcome": "failed", "duration": 0.009331739000003836, "longrepr": "343         microseconds before calculating sampling rate to avoid floating point\n344         accuracy issues with some SAC files (see #3408)\n345     :type round_sampling_interval: bool\n346     :rtype: :class:`~obspy.core.stream.Stream`\n347     :return: A ObsPy Stream object.\n348 \n349     .. rubric:: Example\n350 \n351     >>> from obspy import read\n352     >>> st = read(\"/path/to/test.sac\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._read_sac[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/core.py:352: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004015449999883458}, "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.00020471499999530351}}, {"call": {"outcome": "failed", "duration": 0.009984906999989107, "longrepr": "191         microseconds before calculating sampling rate to avoid floating point\n192         accuracy issues with some SAC files (see #3408)\n193     :type round_sampling_interval: bool\n194     :rtype: :class:`~obspy.core.stream.Stream`\n195     :return: A ObsPy Stream object.\n196 \n197     .. rubric:: Example\n198 \n199     >>> from obspy import read\n200     >>> st = read(\"/path/to/testxy.sac\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._read_sac_xy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/core.py:200: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003585640000096646}, "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.00038083600003346874}}, {"call": {"outcome": "failed", "duration": 0.007598952000023473, "longrepr": "439     :type filename: str, open file, or file-like object\n440     :param byteorder: Must be either ``0`` or ``'<'`` for LSBF or\n441         little-endian, ``1`` or ``'>'`` for MSBF or big-endian.\n442         Defaults to little endian.\n443     :type byteorder: int or str\n444 \n445     .. rubric:: Example\n446 \n447     >>> from obspy import read\n448     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._write_sac[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/core.py:448: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005763839999985976}, "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.00033361699996703464}}, {"call": {"outcome": "failed", "duration": 0.006406250999987151, "longrepr": "267         file-like object is passed, this function only supports writing\n268         Stream objects containing a single Trace. This is a limitation of\n269         the SAC file format. An exception will be raised in case it's\n270         necessary.\n271     :type filename: str, open file, or file-like object\n272 \n273     .. rubric:: Example\n274 \n275     >>> from obspy import read\n276     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._write_sac_xy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/core.py:276: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007611309999902005}, "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.00024692400000958514}}, {"call": {"outcome": "passed", "duration": 0.0034907710000311454}, "setup": {"outcome": "passed", "duration": 0.0005681879999883677}, "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.00021590599999399274}}, {"call": {"outcome": "passed", "duration": 0.0046320060000084595}, "setup": {"outcome": "passed", "duration": 0.00038527399999566114}, "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.0002056559999914498}}, {"call": {"outcome": "failed", "duration": 0.009332128999972156, "longrepr": "260     * IA (12): First arrival time\n261     * ITn (13-22): User defined time pick n, n=0,9\n262 \n263 Convert to/from ObsPy Traces\n264 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n265 \n266 .. rubric:: Example\n267 \n268 >>> from obspy import read\n269 >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.sactrace[17]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/sactrace.py:269: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004867249999733758}, "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.00020711000001938373}}, {"call": {"outcome": "passed", "duration": 0.0034777469999767163}, "setup": {"outcome": "passed", "duration": 0.0003589050000414318}, "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.0001897260000305323}}, {"call": {"outcome": "passed", "duration": 0.009138935999999376}, "setup": {"outcome": "passed", "duration": 0.0003619500000127118}, "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.00019925399999465299}}, {"call": {"outcome": "passed", "duration": 0.0029941069999495085}, "setup": {"outcome": "passed", "duration": 0.00034859600003755986}, "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.0001908490000346319}}, {"call": {"outcome": "passed", "duration": 0.009367666000002828}, "setup": {"outcome": "passed", "duration": 0.00033646200000703175}, "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.00019933500004754023}}, {"call": {"outcome": "passed", "duration": 0.009387414000002536}, "setup": {"outcome": "passed", "duration": 0.0003476029999660568}, "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.00019863300002498363}}, {"call": {"outcome": "passed", "duration": 0.009273238999981004}, "setup": {"outcome": "passed", "duration": 0.0003580329999977039}, "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.00022574500002292552}}, {"call": {"outcome": "passed", "duration": 0.009246598999993694}, "setup": {"outcome": "passed", "duration": 0.00040844700004072365}, "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.00024382800000921634}}, {"call": {"outcome": "passed", "duration": 0.0029151690000048802}, "setup": {"outcome": "passed", "duration": 0.001307496999970681}, "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.00023222700002634156}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004757030999996914, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 63, in test_read_write_via_obspy\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004845610000074885}, "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.000247865999995156}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004773161000002801, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 81, in test_read_xy_write_xy_via_obspy\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045997400002306676}, "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.0002409319999969739}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0045219189999556875, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 96, in test_read_write_xy_via_obspy\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004786690000173621}, "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.00023812799997813272}}, {"call": {"outcome": "passed", "duration": 0.002575079999985519}, "setup": {"outcome": "passed", "duration": 0.00045550599998023245}, "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.00021832000004451402}}, {"call": {"outcome": "passed", "duration": 0.014670492999982798}, "setup": {"outcome": "passed", "duration": 0.00043781299996226153}, "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.0002612209999597326}}, {"call": {"outcome": "passed", "duration": 0.0022702969999954803}, "setup": {"outcome": "passed", "duration": 0.000473219000014069}, "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.00021759899999551635}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001989669000010963, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 170, in test_write_via_obspy\n    tr = read(tempfile)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004540130000236786}, "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.00022397099996851466}}, {"call": {"outcome": "passed", "duration": 0.003687721000005695}, "setup": {"outcome": "passed", "duration": 0.0005070130000035533}, "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.00022177599998940423}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008366320000163796, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 190, in test_read_and_write_via_obspy\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044855299995560927}, "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.0002659700000435805}}, {"call": {"outcome": "passed", "duration": 0.0050935130000198114}, "setup": {"outcome": "passed", "duration": 0.00044238200001700534}, "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.0002165969999623485}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008724600000391547, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 249, in test_iztype11\n    tr = read(sod_file)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004524600000195278}, "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.00023898000000599495}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007809180000322158, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 266, in test_default_values\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004247179999765649}, "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.0002211759999681817}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010167410000008203, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 278, in test_reference_time\n    tr = read(self.fileseis)[0]\n         ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004507670000180042}, "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.00021689800001922777}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000802868999983275, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 305, in test_undefined_b\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044794199999387274}, "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.0002167380000059893}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002523463000045467, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 336, in test_issue_156\n    st = read(sac_file)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004302080000115893}, "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.00021781000003784357}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003906051999990723, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 360, in test_write_sac_xy_with_minimum_stats\n    st = read(sac_file)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044793200004278333}, "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.0002446299999974144}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008060249999743974, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 368, in test_not_used_but_given_headers\n    tr1 = read(self.file)[0]\n          ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044208099996012606}, "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.00023806699999795455}}, {"call": {"outcome": "passed", "duration": 0.0036777219999635236}, "setup": {"outcome": "passed", "duration": 0.00042354499998964457}, "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.00021597599999267914}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008021270000426739, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 407, in test_null_terminated_strings\n    tr = read(null_file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004444850000027145}, "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.0002148730000044452}}, {"call": {"outcome": "passed", "duration": 0.03197185100003708}, "setup": {"outcome": "passed", "duration": 0.000443874000040978}, "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.0002474049999818817}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008645849999879829, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 432, in test_issue390\n    tr = read(self.file, headonly=True, debug_headers=True)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00048345800001925454}, "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.0002088229999799296}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008610279999743398, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 469, in test_read_with_fsize\n    read(longer_file)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004562379999697441}, "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.0002042840000058277}}, {"call": {"outcome": "passed", "duration": 0.0021682550000150513}, "setup": {"outcome": "passed", "duration": 0.00045704900003329385}, "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.00021305100000290622}}, {"call": {"outcome": "passed", "duration": 0.0023273639999956686}, "setup": {"outcome": "passed", "duration": 0.00041253500000948407}, "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.00019937499996558472}}, {"call": {"outcome": "passed", "duration": 0.002432381999994959}, "setup": {"outcome": "passed", "duration": 0.0004226650000305199}, "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.0002002760000436865}}, {"call": {"outcome": "passed", "duration": 0.00270359199998893}, "setup": {"outcome": "passed", "duration": 0.00044149900003276343}, "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.00020279099999243044}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002209773000004134, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 569, in test_writing_to_obj_with_multiple_traces_fails\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004397659999995085}, "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.00020965400000250156}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002064460000042345, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 578, in test_writing_to_io_string_io_fails\n    st = read()[:1]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043894499998486936}, "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.00020870199995215444}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006749079999508467, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 594, in test_read_via_obspy_from_bytes_io\n    tr = read(buf)[0]\n         ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004247080000254755}, "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.00020985399999062793}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008140299999581657, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 605, in test_write_via_obspy_to_bytes_io\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042873600000348233}, "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.000205166000000645}}, {"call": {"outcome": "passed", "duration": 0.0029227339999806645}, "setup": {"outcome": "passed", "duration": 0.0004291870000088238}, "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.00020301099999642247}}, {"call": {"outcome": "passed", "duration": 0.0030477979999545823}, "setup": {"outcome": "passed", "duration": 0.00043863399997690067}, "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.00019680000002608722}}, {"call": {"outcome": "passed", "duration": 0.00031388000002152694}, "setup": {"outcome": "passed", "duration": 0.0004311909999614727}, "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.00019558699995059214}}, {"call": {"outcome": "passed", "duration": 0.0002975090000063574}, "setup": {"outcome": "passed", "duration": 0.00042023999998264117}, "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.00019038800002135758}}, {"call": {"outcome": "passed", "duration": 0.0003063859999770102}, "setup": {"outcome": "passed", "duration": 0.0004136469999593828}, "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.00018454700000347657}}, {"call": {"outcome": "passed", "duration": 0.0003040309999846613}, "setup": {"outcome": "passed", "duration": 0.00042983800000229166}, "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.00019162099999903148}}, {"call": {"outcome": "passed", "duration": 0.00045669800005043726}, "setup": {"outcome": "passed", "duration": 0.0004138479999937772}, "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.00020671800001537122}}, {"call": {"outcome": "passed", "duration": 0.0003311719999601337}, "setup": {"outcome": "passed", "duration": 0.0004082169999719554}, "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.00018618000001424662}}, {"call": {"outcome": "passed", "duration": 0.00028220100000453385}, "setup": {"outcome": "passed", "duration": 0.0004275940000297851}, "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.00020909300002358577}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022152340000047843, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 744, in test_writing_to_file_like_objects_with_obspy\n    st = read()[:1]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042982799999435883}, "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.0002222580000079688}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002232495999976436, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 788, in test_valid_sac_from_minimal_existing_sac_header\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004210920000105034}, "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.00020623699998623124}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021095549999472496, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 823, in test_merge_sac_obspy_headers\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044312199997875723}, "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.0002250329999924361}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008693829999970148, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 838, in test_decimate_resample\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004222140000251784}, "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.00023035300000628922}}, {"call": {"outcome": "passed", "duration": 0.00402779000000919}, "setup": {"outcome": "passed", "duration": 0.0004270029999702274}, "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.00019655900001680493}}, {"call": {"outcome": "passed", "duration": 0.002174787000001288}, "setup": {"outcome": "passed", "duration": 0.00047977200000559606}, "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.0002694969999765817}}, {"call": {"outcome": "passed", "duration": 0.0005065120000153911}, "setup": {"outcome": "passed", "duration": 0.0004155709999622559}, "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.00018661100000372244}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014538119999656374, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 897, in test_sac_file_from_new_header\n    tr1 = read(tf)[0]\n          ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000406605000023319}, "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.0002039429999740605}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017320059999974546, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 920, in test_always_sac_reftime\n    tr1 = read(tf)[0]\n          ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044021700000485}, "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.00020643800002062562}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008449979999909374, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 929, in test_wrong_encoding\n    tr0 = read(self.file_encode)[0]\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043992700000217155}, "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.00020493499999929554}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007879110000317269, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_core.py\", line 936, in test_encoding_flag\n    tr0 = read(self.file_encode, encoding='cp1252')[0]\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000438744999996743}, "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.00020303200000171273}}, {"call": {"outcome": "passed", "duration": 0.16831917299998622}, "setup": {"outcome": "passed", "duration": 0.0004460979999976189}, "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.00025722300000552423}}, {"call": {"outcome": "passed", "duration": 0.006635972000026413}, "setup": {"outcome": "passed", "duration": 0.0005211800000211042}, "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.0008839810000154102}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007995329999630485, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 47, in test_write_sacpz_single_channel\n    inv = read_inventory(path)\n          ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008799139999950967}, "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.00021737899999152432}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008502680000219698, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 65, in test_write_sacpz_multiple_channels\n    inv = read_inventory(path)\n          ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045463399999334797}, "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.00024217499998258063}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012490679999928034, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 82, in test_write_sacpz_soh\n    inv = read_inventory(path)\n          ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00047146600002179184}, "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.00022889100000611506}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001218289000007644, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 100, in test_write_sacpz_no_sensor\n    inv = read_inventory(\"/path/to/IU_ANMO_00_BHZ.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007329279999908067}, "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.00022029500001963243}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010497929999928601, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 100, in test_write_sacpz_no_sensor\n    inv = read_inventory(\"/path/to/IU_ANMO_00_BHZ.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005305779999957849}, "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.00022555399999646397}}, {"call": {"outcome": "passed", "duration": 0.0005707230000098207}, "setup": {"outcome": "passed", "duration": 0.0004042500000309701}, "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.00019839300000512594}}, {"call": {"outcome": "passed", "duration": 0.000490501999991011}, "setup": {"outcome": "passed", "duration": 0.00040433999998867876}, "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.00019811199996411233}}, {"call": {"outcome": "passed", "duration": 0.00040532200000598095}, "setup": {"outcome": "passed", "duration": 0.0004277740000020458}, "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.0002129399999830639}}, {"call": {"outcome": "passed", "duration": 0.008241961000010178}, "setup": {"outcome": "passed", "duration": 0.000726224999993974}, "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.00021799000001010427}}, {"call": {"outcome": "passed", "duration": 0.018934506999983114}, "setup": {"outcome": "passed", "duration": 0.0004369810000071084}, "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.0004643119999627743}}, {"call": {"outcome": "passed", "duration": 0.0009381030000099599}, "setup": {"outcome": "passed", "duration": 0.0009627299999692696}, "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.00021303099998704056}}, {"call": {"outcome": "passed", "duration": 0.0005467780000003586}, "setup": {"outcome": "passed", "duration": 0.0004286559999968631}, "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.0001906380000491481}}, {"call": {"outcome": "passed", "duration": 0.0012340200000267032}, "setup": {"outcome": "passed", "duration": 0.0005404460000022482}, "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.0001916299999606963}}, {"call": {"outcome": "passed", "duration": 0.0013326249999749962}, "setup": {"outcome": "passed", "duration": 0.0004321719999893503}, "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.00020286099999111684}}, {"call": {"outcome": "passed", "duration": 0.0016441000000213535}, "setup": {"outcome": "passed", "duration": 0.00043743200001244986}, "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.0001956379999796809}}, {"call": {"outcome": "passed", "duration": 0.0007116979999750583}, "setup": {"outcome": "passed", "duration": 0.00045906299999387556}, "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.00019194099996866498}}, {"call": {"outcome": "passed", "duration": 0.0013183380000327816}, "setup": {"outcome": "passed", "duration": 0.00043064999999842257}, "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.00023737599997275538}}, {"call": {"outcome": "passed", "duration": 0.0012100649999524649}, "setup": {"outcome": "passed", "duration": 0.00041882699997586315}, "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.00019229199995152157}}, {"call": {"outcome": "passed", "duration": 0.0007820590000164884}, "setup": {"outcome": "passed", "duration": 0.0004188070000168409}, "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.00018852400000923808}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009450260000107846, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sac/tests/test_sactrace.py\", line 219, in test_propagate_modified_stats_strings_to_sactrace\n    tr = read(self.fileseis)[0]\n         ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004168829999571244}, "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.0002518240000313199}}, {"call": {"outcome": "passed", "duration": 0.0005990159999669231}, "setup": {"outcome": "passed", "duration": 0.00044357400003036673}, "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.00021161799998026254}}, {"call": {"outcome": "passed", "duration": 0.0008610790000034285}, "setup": {"outcome": "passed", "duration": 0.0004063330000008136}, "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.000197781999986546}}, {"call": {"outcome": "passed", "duration": 0.0020727449999640157}, "setup": {"outcome": "passed", "duration": 0.0004345269999816992}, "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.00019572799999423296}}, {"call": {"outcome": "passed", "duration": 0.0005350860000135071}, "setup": {"outcome": "passed", "duration": 0.00040887799997335605}, "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.00018476699995062518}}, {"call": {"outcome": "passed", "duration": 0.00047913999998172585}, "setup": {"outcome": "passed", "duration": 0.000433896000004097}, "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.00018501800002468372}}, {"call": {"outcome": "passed", "duration": 0.006225190000009206}, "setup": {"outcome": "passed", "duration": 0.00042845500001931214}, "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.0001974009999798909}}, {"call": {"outcome": "passed", "duration": 0.0009680690000095638}, "setup": {"outcome": "passed", "duration": 0.00042065999997475956}, "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.00019223100002818683}}, {"call": {"outcome": "passed", "duration": 0.00033241500000258384}, "setup": {"outcome": "passed", "duration": 0.0004288960000167208}, "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.00018393599998489663}}, {"call": {"outcome": "passed", "duration": 0.0005608040000311121}, "setup": {"outcome": "passed", "duration": 0.00040634299995190304}, "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.0002155750000270018}}, {"call": {"outcome": "passed", "duration": 0.0004237359999592627}, "setup": {"outcome": "passed", "duration": 0.0004157909999662479}, "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.00047836900000675087}}, {"call": {"outcome": "failed", "duration": 0.009842359000003853, "longrepr": "013     GNU Lesser General Public License, Version 3\n014     (https://www.gnu.org/copyleft/lesser.html)\n015 \n016 Example\n017 -------\n018 \n019 It works by utilizing ObsPy's :func:`~obspy.core.event.read_events` function.\n020 \n021 >>> import obspy\n022 >>> cat = obspy.read_events(\"/path/to/test.scardec\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.scardec[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/scardec/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006701489999727528}, "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.00019336399998337583}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008136989999911748, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/scardec/tests/test_core.py\", line 33, in test_read_and_write_scardec_from_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009526300000288757}, "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.00020754999997052437}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004049510000072587, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/scardec/tests/test_core.py\", line 83, in test_read_and_write_scardec_from_open_files\n    cat = obspy.read_events(fh)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034234399998922527}, "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.0001928629999952136}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004177449999929195, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/scardec/tests/test_core.py\", line 129, in test_read_and_write_scardec_from_bytes_io\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034614099996588266}, "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.00018858399999999165}}, {"call": {"outcome": "passed", "duration": 0.004944813999998132}, "setup": {"outcome": "passed", "duration": 0.00036715999999614723}, "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.0002665609999894514}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014307779999853665, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/seg2/tests/test_seg2.py\", line 91, in test_read_data_format_2\n    st = read(basename + \".seg2.gz\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001018174000023464}, "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.00018841399997882036}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008484149999503643, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/seg2/tests/test_seg2.py\", line 114, in test_read_data_format_3\n    st = read(basename + \".seg2\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003548669999986487}, "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.00022839899997961766}}, {"call": {"outcome": "passed", "duration": 0.013360750999993343}, "setup": {"outcome": "passed", "duration": 0.0006303850000222155}, "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.0001937339999926735}}, {"call": {"outcome": "failed", "duration": 0.009737390999987383, "longrepr": "156         enhance performance and especially memory usage with large files. The\n157         header values can still be accessed and will be calculated on the fly\n158         but tab completion will no longer work. Look in the headers.py for a\n159         list of all possible trace header values. Defaults to ``False``.\n160     :returns: A ObsPy :class:`~obspy.core.stream.Stream` object.\n161 \n162     .. rubric:: Example\n163 \n164     >>> from obspy import read\n165     >>> st = read(\"/path/to/00001034.sgy_first_trace\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.segy.core._read_segy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/segy/core.py:165: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00041632300002447664}, "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.00019160000005058464}}, {"call": {"outcome": "failed", "duration": 0.009582660000035048, "longrepr": "446         enhance performance and especially memory usage with large files. The\n447         header values can still be accessed and will be calculated on the fly\n448         but tab completion will no longer work. Look in the headers.py for a\n449         list of all possible trace header values. Defaults to ``False``.\n450     :returns: A ObsPy :class:`~obspy.core.stream.Stream` object.\n451 \n452     .. rubric:: Example\n453 \n454     >>> from obspy import read\n455     >>> st = read(\"/path/to/1.su_first_trace\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.segy.core._read_su[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/segy/core.py:455: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00035119999995458784}, "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.00019548699998495067}}, {"call": {"outcome": "passed", "duration": 0.008871754000040255}, "setup": {"outcome": "passed", "duration": 0.0004216519999999946}, "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.00019079800000554314}}, {"call": {"outcome": "passed", "duration": 0.008410367999999835}, "setup": {"outcome": "passed", "duration": 0.00034895599998208127}, "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.00019121899998708614}}, {"call": {"outcome": "passed", "duration": 0.0006245839999792224}, "setup": {"outcome": "passed", "duration": 0.0010857010000222544}, "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.00019249199999649136}}, {"call": {"outcome": "passed", "duration": 0.0006251449999581382}, "setup": {"outcome": "passed", "duration": 0.00034065099998770165}, "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.0001842059999717094}}, {"call": {"outcome": "passed", "duration": 0.0016963479999958508}, "setup": {"outcome": "passed", "duration": 0.00033698400000048423}, "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.00017609999997603154}}, {"call": {"outcome": "passed", "duration": 0.001505148999967787}, "setup": {"outcome": "passed", "duration": 0.0003414709999560728}, "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.00017325600003914587}}, {"call": {"outcome": "passed", "duration": 0.004959711999958927}, "setup": {"outcome": "passed", "duration": 0.00039282800003093143}, "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.00018307400000594498}}, {"call": {"outcome": "passed", "duration": 0.0031530260000067756}, "setup": {"outcome": "passed", "duration": 0.0003502380000099947}, "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.0001815719999740395}}, {"call": {"outcome": "passed", "duration": 0.005322151999962443}, "setup": {"outcome": "passed", "duration": 0.0003956730000140851}, "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.00020821100002876847}}, {"call": {"outcome": "passed", "duration": 0.0009280250000074375}, "setup": {"outcome": "passed", "duration": 0.00035577899996042106}, "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.00017515000001822045}}, {"call": {"outcome": "passed", "duration": 0.0008482050000111485}, "setup": {"outcome": "passed", "duration": 0.0003798139999844352}, "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.00018135099998062287}}, {"call": {"outcome": "passed", "duration": 0.0044876839999687945}, "setup": {"outcome": "passed", "duration": 0.00036645900001985865}, "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.0001794269999777498}}, {"call": {"outcome": "passed", "duration": 0.0012004459999843675}, "setup": {"outcome": "passed", "duration": 0.00039075400002275273}, "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.00017490800001951357}}, {"call": {"outcome": "passed", "duration": 0.005223677999993015}, "setup": {"outcome": "passed", "duration": 0.0003375439999899754}, "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.00018309399996496722}}, {"call": {"outcome": "passed", "duration": 0.019553069999972195}, "setup": {"outcome": "passed", "duration": 0.0003572319999989304}, "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.00021213799999486582}}, {"call": {"outcome": "passed", "duration": 0.00032278699995913485}, "setup": {"outcome": "passed", "duration": 0.0004010929999935797}, "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.00016958899999508503}}, {"call": {"outcome": "passed", "duration": 0.0010943870000232891}, "setup": {"outcome": "passed", "duration": 0.00033265500002244153}, "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.00017892599998958758}}, {"call": {"outcome": "passed", "duration": 0.0026597290000154317}, "setup": {"outcome": "passed", "duration": 0.000339016999987507}, "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.00020552699999143442}}, {"call": {"outcome": "passed", "duration": 0.0010951579999982641}, "setup": {"outcome": "passed", "duration": 0.00033892700002979836}, "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.00017285500001662513}}, {"call": {"outcome": "passed", "duration": 0.0034731680000277265}, "setup": {"outcome": "passed", "duration": 0.00038576499997589053}, "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.00018356499998617437}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023178160000156822, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/segy/tests/test_core.py\", line 441, in test_writing_su_file_with_no_header\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003014770000504541}, "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.00020739000001412933}}, {"call": {"outcome": "passed", "duration": 0.004107349000037175}, "setup": {"outcome": "passed", "duration": 0.0004771170000026359}, "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.00017567000003282374}}, {"call": {"outcome": "passed", "duration": 0.003673644000002696}, "setup": {"outcome": "passed", "duration": 0.00038517300004059507}, "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.0001789359999975204}}, {"call": {"outcome": "passed", "duration": 0.0011963489999970989}, "setup": {"outcome": "passed", "duration": 0.0003850740000075348}, "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.0001933239999516445}}, {"call": {"outcome": "passed", "duration": 0.0009202399999708177}, "setup": {"outcome": "passed", "duration": 0.00033702299998594754}, "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.00017764399996167413}}, {"call": {"outcome": "passed", "duration": 0.01035165500002222}, "setup": {"outcome": "passed", "duration": 0.00033449900001869537}, "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.00027537699997992604}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010671249999631982, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/segy/tests/test_core.py\", line 597, in test_comparing_still_packed_trace_headers\n    header_a = read(file)[0].stats.segy.trace_header\n               ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042501900003344417}, "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.0002671629999895231}}, {"call": {"outcome": "passed", "duration": 0.011288536999984444}, "setup": {"outcome": "passed", "duration": 0.0003707270000177232}, "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.0002387090000297576}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025895269999978154, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/segy/tests/test_core.py\", line 640, in test_writing_text_and_binary_textual_file_headers\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004043100000217237}, "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.00023680499998590676}}, {"call": {"outcome": "passed", "duration": 0.0012585449999846787}, "setup": {"outcome": "passed", "duration": 0.00039241700000047786}, "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.000324369000054503}}, {"call": {"outcome": "passed", "duration": 0.0024601840000286757}, "setup": {"outcome": "passed", "duration": 0.0008521309999878213}, "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.00019086800000422954}}, {"call": {"outcome": "passed", "duration": 0.0021654999999896063}, "setup": {"outcome": "passed", "duration": 0.00036167000001796623}, "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.0001864910000222153}}, {"call": {"outcome": "passed", "duration": 0.04542652800000724}, "setup": {"outcome": "passed", "duration": 0.00033287500002643355}, "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.0003062960000193016}}, {"call": {"outcome": "passed", "duration": 0.03712200000001076}, "setup": {"outcome": "passed", "duration": 0.0004704940000124225}, "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.0003100729999800933}}, {"call": {"outcome": "passed", "duration": 0.0007327670000449871}, "setup": {"outcome": "passed", "duration": 0.00048237699996889205}, "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.00022117600002502513}}, {"call": {"outcome": "passed", "duration": 0.00120170899998584}, "setup": {"outcome": "passed", "duration": 0.00042881699999952616}, "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.0002077999999983149}}, {"call": {"outcome": "passed", "duration": 0.0008555880000358229}, "setup": {"outcome": "passed", "duration": 0.0003974570000195854}, "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.00020356300001367345}}, {"call": {"outcome": "passed", "duration": 0.0033711059999745885}, "setup": {"outcome": "passed", "duration": 0.0007446600000093895}, "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.0002206049999813331}}, {"call": {"outcome": "passed", "duration": 0.012135757999999441}, "setup": {"outcome": "passed", "duration": 0.0005254370000216113}, "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.00027678000003561465}}, {"call": {"outcome": "passed", "duration": 0.008750044999999318}, "setup": {"outcome": "passed", "duration": 0.0005604030000085913}, "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.0002877610000382447}}, {"call": {"outcome": "passed", "duration": 0.0005464070000016363}, "setup": {"outcome": "passed", "duration": 0.00048577300003671553}, "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.00020560600000862905}}, {"call": {"outcome": "passed", "duration": 0.0009849110000459405}, "setup": {"outcome": "passed", "duration": 0.00041892699999834804}, "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.00020032600002650724}}, {"call": {"outcome": "passed", "duration": 0.0012014579999686248}, "setup": {"outcome": "passed", "duration": 0.00042349599999624843}, "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.00020009599995773897}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011106169999948179, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/segy/tests/test_segy.py\", line 576, in test_iterative_reading\n    st = obspy.read(filename, unpack_trace_headers=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004158509999570015}, "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.00028670899996541266}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0031493999999838707, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/segy/tests/test_segy.py\", line 595, in test_revision_number_in_binary_file_header\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004135269999778757}, "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.000359274999993886}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003862540000000081, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/segy/tests/test_segy.py\", line 615, in test_textual_header_has_the_right_fields_at_the_end\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004999000000225351}, "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.0004344559999935882}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0030125309999675665, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/segy/tests/test_segy.py\", line 744, in test_packing_raises_nice_error_messages\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000529255000003559}, "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.00041903699997192234}}, {"call": {"outcome": "passed", "duration": 0.0017569119999620852}, "setup": {"outcome": "passed", "duration": 0.0010555929999895852}, "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.0002879410000105054}}, {"call": {"outcome": "passed", "duration": 0.0006546300000422889}, "setup": {"outcome": "passed", "duration": 0.0004417709999984254}, "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.00020348300000705422}}, {"call": {"outcome": "passed", "duration": 0.0020485200000166515}, "setup": {"outcome": "passed", "duration": 0.0003986890000078347}, "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.00019320299998071278}}, {"call": {"outcome": "passed", "duration": 0.0006774830000040311}, "setup": {"outcome": "passed", "duration": 0.0003569809999817153}, "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.0001789359999975204}}, {"call": {"outcome": "passed", "duration": 0.0003858549999904426}, "setup": {"outcome": "passed", "duration": 0.00035017900000866575}, "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.00017349699999158474}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000977717000012035, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/segy/tests/test_su.py\", line 124, in test_iterative_reading\n    st = obspy.read(filename, unpack_trace_headers=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003613490000020647}, "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.0002891430000317996}}, {"call": {"outcome": "failed", "duration": 0.010840434000044752, "longrepr": "014 \n015 Reading\n016 -------\n017 Importing SEISAN files is done similar to reading any other waveform data\n018 format within ObsPy by using the :func:`~obspy.core.stream.read()` method of\n019 the :mod:`obspy.core` module. Example seismogram files may be found at\n020 https://examples.obspy.org.\n021 \n022 >>> from obspy import read\n023 >>> st = read(\"/path/to/2001-01-13-1742-24S.KONO__004\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.seisan[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/seisan/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007463329999950474}, "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.000251372999969135}}, {"call": {"outcome": "skipped", "duration": 0.00023308799995902518, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0005252369999766415}, "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.0002060869999809256}}, {"call": {"outcome": "failed", "duration": 0.010222822999992331, "longrepr": "114 \n115     :type filename: str\n116     :param filename: SEISAN file to be read.\n117     :rtype: :class:`~obspy.core.stream.Stream`\n118     :return: A ObsPy Stream object.\n119 \n120     .. rubric:: Example\n121 \n122     >>> from obspy import read\n123     >>> st = read(\"/path/to/2001-01-13-1742-24S.KONO__004\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.seisan.core._read_seisan[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/seisan/core.py:123: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003274450000390061}, "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.00023778700000320896}}, {"call": {"outcome": "passed", "duration": 0.00033368700002256446}, "setup": {"outcome": "passed", "duration": 0.0011698789999741166}, "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.0001829439999596616}}, {"call": {"outcome": "passed", "duration": 0.00033136199999717064}, "setup": {"outcome": "passed", "duration": 0.0003432650000263493}, "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.0001710920000164151}}, {"call": {"outcome": "passed", "duration": 0.022069379000015488}, "setup": {"outcome": "passed", "duration": 0.00033041100004993496}, "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.00023320799999737574}}, {"call": {"outcome": "passed", "duration": 0.018852523000020938}, "setup": {"outcome": "passed", "duration": 0.0004219429999920976}, "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.00021499400003222036}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010177429999771448, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/seisan/tests/test_core.py\", line 202, in test_read_obspy\n    st1 = read(testdata['2011-09-06-1311-36S.A1032_001BH_Z'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039438099997823883}, "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.00029115800003864933}}, {"call": {"outcome": "failed", "duration": 0.010749874999987696, "longrepr": "064         restriction, this ID prefix allows to convert the IDs to a well\n065         formatted QuakeML ID. You can modify the default ID prefix with the\n066         reverse DNS name of your institute.\n067     :rtype: :class:`~obspy.core.event.Catalog`\n068     :return: An ObsPy Catalog object.\n069 \n070     .. rubric:: Example\n071 \n072     >>> from obspy import read_events\n073     >>> cat = read_events('/path/to/iris_events.sc3ml')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.seiscomp.event._read_scml[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/seiscomp/event.py:73: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007405719999837856}, "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.0002206050000381765}}, {"call": {"outcome": "passed", "duration": 0.0030039860000101726}, "setup": {"outcome": "passed", "duration": 0.00048356899998225344}, "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.00018876500001852037}}, {"call": {"outcome": "passed", "duration": 0.0009932469999966997}, "setup": {"outcome": "passed", "duration": 0.0012660390000291954}, "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.00017437799999697745}}, {"call": {"outcome": "passed", "duration": 0.00029231900003878764}, "setup": {"outcome": "passed", "duration": 0.00034227300000111427}, "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.00017610100002229956}}, {"call": {"outcome": "passed", "duration": 0.008868317000008119}, "setup": {"outcome": "passed", "duration": 0.0003515210000273328}, "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.0002795859999764616}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008582130000149846, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 200, in test_scml_versions\n    read_events(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0024530700000013894}, "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.0002192009999930633}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03836716000000706}, "setup": {"outcome": "passed", "duration": 0.00048652500004209287}, "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.0002695969999990666}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03926767299998346}, "setup": {"outcome": "passed", "duration": 0.0006066600000167455}, "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.0002642869999931463}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.038432674000034694}, "setup": {"outcome": "passed", "duration": 0.0005889169999591104}, "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.00029246000002558503}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03880957199999102}, "setup": {"outcome": "passed", "duration": 0.0005784979999816642}, "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.0002917179999712971}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03811573800004453}, "setup": {"outcome": "passed", "duration": 0.0005972829999905116}, "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.0002886930000158827}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03798852900001748}, "setup": {"outcome": "passed", "duration": 0.0006045569999741929}, "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.00029028599999492144}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.04026861500000223}, "setup": {"outcome": "passed", "duration": 0.0005897080000067945}, "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.00028847299995504727}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03965333799999371}, "setup": {"outcome": "passed", "duration": 0.0005658629999629738}, "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.00028291199998875527}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.041535013999975945}, "setup": {"outcome": "passed", "duration": 0.0005945180000139771}, "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.0002727120000258765}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03995964300003152}, "setup": {"outcome": "passed", "duration": 0.0005600320000098691}, "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.00027002699999911783}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03811540799995328}, "setup": {"outcome": "passed", "duration": 0.0005692099999805578}, "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.0002733540000008361}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.042605696999999054}, "setup": {"outcome": "passed", "duration": 0.0005745200000433215}, "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.0003591649999634683}}, {"call": {"outcome": "passed", "duration": 0.006777828999986468}, "setup": {"outcome": "passed", "duration": 0.0007053660000337914}, "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.00026444799999580937}}, {"call": {"outcome": "passed", "duration": 0.005775353999979416}, "setup": {"outcome": "passed", "duration": 0.0006110290000265195}, "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.00023837800000592324}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00047663600003033935, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 311, in test_read_string\n    catalog = read_events(data)\n              ^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 730, in _generic_reader\n    return callback_func(io.BytesIO(pathname_or_url), **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005879140000502048}, "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.0002247919999831538}}, {"call": {"outcome": "passed", "duration": 0.010043015999997351}, "setup": {"outcome": "passed", "duration": 0.0005178929999942739}, "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.0003323349999959646}}, {"call": {"outcome": "passed", "duration": 0.00789036000003307}, "setup": {"outcome": "passed", "duration": 0.0006713310000350248}, "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.0002749770000036733}}, {"call": {"outcome": "passed", "duration": 0.009359060000008412}, "setup": {"outcome": "passed", "duration": 0.0005855609999798617}, "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.00027998599995271434}}, {"call": {"outcome": "passed", "duration": 0.01202062200002274}, "setup": {"outcome": "passed", "duration": 0.0006326199999762139}, "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.0003797030000214363}}, {"call": {"outcome": "passed", "duration": 0.011747018999983538}, "setup": {"outcome": "passed", "duration": 0.0007217559999617151}, "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.0002846549999730996}}, {"call": {"outcome": "passed", "duration": 0.01307384199998296}, "setup": {"outcome": "passed", "duration": 0.0006023920000188809}, "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.0004440949999775512}}, {"call": {"outcome": "passed", "duration": 0.00961409899997534}, "setup": {"outcome": "passed", "duration": 0.0007033530000057908}, "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.0002615420000324775}}, {"call": {"outcome": "passed", "duration": 0.008753942999987885}, "setup": {"outcome": "passed", "duration": 0.0005610550000483272}, "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.00024140300001818105}}, {"call": {"outcome": "passed", "duration": 0.009087710000017069}, "setup": {"outcome": "passed", "duration": 0.0005480100000454513}, "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.00023570299998709743}}, {"call": {"outcome": "passed", "duration": 0.009454468999990695}, "setup": {"outcome": "passed", "duration": 0.0005409469999904104}, "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.0002348809999830337}}, {"call": {"outcome": "passed", "duration": 0.010706894000009015}, "setup": {"outcome": "passed", "duration": 0.0005395139999677667}, "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.00022110600002633873}}, {"call": {"outcome": "passed", "duration": 0.03851829500001713}, "setup": {"outcome": "passed", "duration": 0.0004908420000333535}, "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.0002646069999627798}}, {"call": {"outcome": "passed", "duration": 0.03841026099996725}, "setup": {"outcome": "passed", "duration": 0.0005507149999743888}, "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.0002356229999804782}}, {"call": {"outcome": "passed", "duration": 0.016382130000010875}, "setup": {"outcome": "passed", "duration": 0.0005215300000145362}, "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.00025712300003988275}}, {"call": {"outcome": "passed", "duration": 0.009671707999984847}, "setup": {"outcome": "passed", "duration": 0.0005338430000279004}, "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.00021950199999309916}}, {"call": {"outcome": "passed", "duration": 0.033913840000025175}, "setup": {"outcome": "passed", "duration": 0.0005248859999937849}, "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.0002461329999619011}}, {"call": {"outcome": "passed", "duration": 0.007784371000013834}, "setup": {"outcome": "passed", "duration": 0.0005233839999618795}, "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.00022139599997217374}}, {"call": {"outcome": "passed", "duration": 0.010136912000007214}, "setup": {"outcome": "passed", "duration": 0.0005123629999843615}, "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.0002089630000341458}}, {"call": {"outcome": "passed", "duration": 0.015091023000024961}, "setup": {"outcome": "passed", "duration": 0.0004963030000340041}, "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.0002245119999884082}}, {"call": {"outcome": "passed", "duration": 0.014904833000002782}, "setup": {"outcome": "passed", "duration": 0.0005123430000253393}, "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.00024138399999173998}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008693440000229202, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 476, in test_read_and_write\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005138660000056916}, "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.0002125899999896319}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008013159999791242, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 488, in test_read_and_write_scml_fields\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005029449999938151}, "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.000656784999989668}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010333829999922273, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 51, in test_scml_versions\n    read_inventory(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.042626484999971126}, "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.00022310899998956302}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008235880000029283, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 59, in test_channel_level\n    inv = read_inventory(testdata[\"channel_level.sc3ml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.03369963800003006}, "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.00022526300000436095}}, {"call": {"outcome": "passed", "duration": 0.02808033699994894}, "setup": {"outcome": "passed", "duration": 0.03434392899998784}, "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.00022652600000583334}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000854424999999992, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 117, in test_empty_depth\n    read_inventory(testdata[\"sc3ml_empty_depth_and_id.sc3ml\"])\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.032761073000017404}, "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.0002297519999956421}}, {"call": {"outcome": "passed", "duration": 0.0004039300000044932}, "setup": {"outcome": "passed", "duration": 0.034358024999960435}, "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.00021507400003883959}}, {"call": {"outcome": "passed", "duration": 0.005093983999984175}, "setup": {"outcome": "passed", "duration": 0.24786493699997436}, "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.00027418500002340807}}, {"call": {"outcome": "passed", "duration": 0.00040834700001823876}, "setup": {"outcome": "passed", "duration": 0.03575147399999423}, "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.0002200440000024173}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011949560000061865, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 271, in test_stage_empty_poles_and_zeros\n    scml_inv = read_inventory(scml_mbar_path)\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.03667393800003538}, "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.0005655730000171388}}, {"call": {"outcome": "failed", "duration": 0.010769179999954304, "longrepr": "014 \n015 Reading\n016 -------\n017 Importing Q or ASC files is done similar to reading any other waveform data\n018 format within ObsPy by using the :func:`~obspy.core.stream.read()` method of\n019 the :mod:`obspy.core` module. Examples seismograms files may be found at\n020 https://examples.obspy.org.\n021 \n022 >>> from obspy import read\n023 >>> st = read(\"/path/to/QFILE-TEST-ASC.ASC\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sh[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sh/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007705489999807469}, "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.00021164800000406103}}, {"call": {"outcome": "skipped", "duration": 0.0002152949999754128, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0004500059999941186}, "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.00018037900002809693}}, {"call": {"outcome": "skipped", "duration": 0.00019937500002242814, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00032123400001182745}, "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.00018436600004179127}}, {"call": {"outcome": "failed", "duration": 0.009926427000038984, "longrepr": "113     :type length: int, optional\n114     :param length: If ``skip`` is used, ``length`` defines the number of values\n115         to be read.\n116     :rtype: :class:`~obspy.core.stream.Stream`\n117     :return: A ObsPy Stream object.\n118 \n119     .. rubric:: Example\n120 \n121     >>> from obspy import read\n122     >>> st = read(\"/path/to/QFILE-TEST-ASC.ASC\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sh.core._read_asc[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sh/core.py:122: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003329960000542087}, "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.00019724099996665245}}, {"call": {"outcome": "failed", "duration": 0.00978685399996948, "longrepr": "357     ObsPy assumes that the corresponding data file is within the same directory\n358     if the ``data_directory`` parameter is not set. Otherwise it will search\n359     in the given ``data_directory`` for a file with the `QBN` file extension.\n360     This function should NOT be called directly, it registers via the\n361     ObsPy :func:`~obspy.core.stream.read` function, call this instead.\n362 \n363     .. rubric:: Example\n364 \n365     >>> from obspy import read\n366     >>> st = read(\"/path/to/QFILE-TEST.QHD\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sh.core._read_q[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sh/core.py:366: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034715199996071533}, "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.00018955699999878561}}, {"call": {"outcome": "passed", "duration": 0.0027855049999629955}, "setup": {"outcome": "passed", "duration": 0.0003275459999940722}, "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.00018494700003657272}}, {"call": {"outcome": "passed", "duration": 0.0029717759999812188}, "setup": {"outcome": "passed", "duration": 0.00031761700000743076}, "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.0001805189999686263}}, {"call": {"outcome": "passed", "duration": 0.02401887300004546}, "setup": {"outcome": "passed", "duration": 0.0010631579999653695}, "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.0002326680000237502}}, {"call": {"outcome": "passed", "duration": 0.0003668389999802457}, "setup": {"outcome": "passed", "duration": 0.0004079369999772098}, "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.00017047099998990234}}, {"call": {"outcome": "passed", "duration": 0.0002906270000266886}, "setup": {"outcome": "passed", "duration": 0.00033969899999419795}, "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.0001698190000070099}}, {"call": {"outcome": "passed", "duration": 0.0014588619999926777}, "setup": {"outcome": "passed", "duration": 0.0003331149999894478}, "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.00018257299996093934}}, {"call": {"outcome": "passed", "duration": 0.014050949000022683}, "setup": {"outcome": "passed", "duration": 0.0003453389999776846}, "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.00020019700002649188}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.01690995199999179, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sh/tests/test_core.py\", line 142, in test_read_and_write_multi_channel_asc_file_via_obspy\n    stream2 = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039248800004543227}, "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.00024221500001431195}}, {"call": {"outcome": "passed", "duration": 0.006979628000010507}, "setup": {"outcome": "passed", "duration": 0.0003936299999622861}, "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.00023948000000473257}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00513952899996184, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sh/tests/test_core.py\", line 198, in test_read_and_write_multi_channel_q_file_via_obspy\n    stream2 = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044155000000500877}, "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.00025786399999105925}}, {"call": {"outcome": "passed", "duration": 0.0014689209999687591}, "setup": {"outcome": "passed", "duration": 0.0004294579999850612}, "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.00018830400000524605}}, {"call": {"outcome": "passed", "duration": 0.01983089199995902}, "setup": {"outcome": "passed", "duration": 0.00034234399998922527}, "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.00022979199997053001}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022164360000260785, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sh/tests/test_core.py\", line 262, in test_write_long_header\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003523020000102406}, "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.00019390400001384478}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021580760000006194, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sh/tests/test_core.py\", line 277, in test_header_whitespaces\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034838499999523265}, "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.00024257600000510138}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0026129310000442274, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sh/tests/test_core.py\", line 292, in test_append_traces\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036069800000859686}, "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.00029140700002017184}}, {"call": {"outcome": "passed", "duration": 0.0006264269999860517}, "setup": {"outcome": "passed", "duration": 0.0005813820000071246}, "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.0002011880000054589}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007382470000152352, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sh/tests/test_evt.py\", line 12, in test_local_event1\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005267409999873962}, "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.0001938039999913599}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007487279999622842, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sh/tests/test_evt.py\", line 17, in test_local_event2\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003613499999914893}, "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.00018506799995066103}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006955869999956121, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sh/tests/test_evt.py\", line 34, in test_tele_event1\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003377450000243698}, "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.00018906600001855622}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008197910000262709, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sh/tests/test_evt.py\", line 40, in test_tele_event2\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000363834000040697}, "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.0001843160000021271}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0585228019999704, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/sh/tests/test_evt.py\", line 84, in test_populate_waveform_id\n    cat = read_events(fname, inventory=inv,\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003582929999765838}, "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.0003418019999799071}}, {"call": {"outcome": "failed", "duration": 0.061050303000001804, "longrepr": "005 This module provides write support for the ESRI shapefile format.\n006 \n007 Write support works via the ObsPy plugin structure for\n008 :class:`~obspy.core.event.Catalog` and\n009 :class:`~obspy.core.inventory.inventory.Inventory`:\n010 \n011 >>> from obspy import read_inventory, read_events\n012 >>> inv = read_inventory()  # load example data\n013 >>> inv.write(\"my_stations.shp\", format=\"SHAPEFILE\")  # doctest: +SKIP\n014 >>> cat = read_events()  # load example data\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.shapefile[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/shapefile/__init__.py:14: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006903770000121767}, "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.00023535200000424084}}, {"setup": {"outcome": "skipped", "duration": 0.00026666100001193627, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/shapefile/tests/test_core.py', 189, 'Skipped: pyshp not installed')"}, "lineno": 188, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_catalog_shapefile", "outcome": "skipped", "keywords": ["test_write_catalog_shapefile", "filterwarnings", "TestShapefile", "skipif", "test_core.py", "tests", "shapefile", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022202700000661935}}, {"setup": {"outcome": "skipped", "duration": 0.00017147199997680218, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/shapefile/tests/test_core.py', 226, 'Skipped: pyshp not installed')"}, "lineno": 225, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_catalog_shapefile_with_extra_field", "outcome": "skipped", "keywords": ["test_write_catalog_shapefile_with_extra_field", "filterwarnings", "TestShapefile", "skipif", "test_core.py", "tests", "shapefile", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018066899997393193}}, {"setup": {"outcome": "skipped", "duration": 0.00016290699994669922, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/shapefile/tests/test_core.py', 289, 'Skipped: pyshp not installed')"}, "lineno": 288, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_inventory_shapefile_with_extra_field", "outcome": "skipped", "keywords": ["test_write_inventory_shapefile_with_extra_field", "filterwarnings", "TestShapefile", "skipif", "test_core.py", "tests", "shapefile", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00032892900003389514}}, {"setup": {"outcome": "skipped", "duration": 0.0001631360000260429, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/shapefile/tests/test_core.py', 335, 'Skipped: pyshp not installed')"}, "lineno": 334, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_catalog_shapefile_via_plugin", "outcome": "skipped", "keywords": ["test_write_catalog_shapefile_via_plugin", "filterwarnings", "TestShapefile", "skipif", "test_core.py", "tests", "shapefile", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017054100004543216}}, {"setup": {"outcome": "skipped", "duration": 0.000160923000009916, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/shapefile/tests/test_core.py', 372, 'Skipped: pyshp not installed')"}, "lineno": 371, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_inventory_shapefile", "outcome": "skipped", "keywords": ["test_write_inventory_shapefile", "filterwarnings", "TestShapefile", "skipif", "test_core.py", "tests", "shapefile", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000174498000035328}}, {"setup": {"outcome": "skipped", "duration": 0.00015805700002147205, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/shapefile/tests/test_core.py', 401, 'Skipped: pyshp not installed')"}, "lineno": 400, "nodeid": "io/shapefile/tests/test_core.py::TestShapefile::test_write_inventory_shapefile_via_plugin", "outcome": "skipped", "keywords": ["test_write_inventory_shapefile_via_plugin", "filterwarnings", "TestShapefile", "skipif", "test_core.py", "tests", "shapefile", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017690300001049764}}, {"call": {"outcome": "failed", "duration": 0.011191624999980831, "longrepr": "015 \n016 \n017 Example\n018 -------\n019 \n020 Don't use this module directly but utilize it through the\n021 :func:`~obspy.core.inventory.inventory.read_inventory` function.\n022 \n023 >>> import obspy\n024 >>> inv = obspy.read_inventory(\"/path/to/channel_level_fdsn.txt\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.stationtxt[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationtxt/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000737746000027073}, "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.0002292209999836814}}, {"call": {"outcome": "passed", "duration": 0.0013417810000078134}, "setup": {"outcome": "passed", "duration": 0.0011983719999761888}, "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.00019726099998251811}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018969349999906626, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 109, in test_reading_network_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033972800002857184}, "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.0002686450000055629}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002239339000027485, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 194, in test_reading_station_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004274640000403451}, "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.0002127699999618926}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0035619349999933547, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 397, in test_reading_channel_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040229600000429855}, "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.00018917500000270593}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012488869999742747, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 467, in test_reading_unicode_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038006400001222573}, "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.00019783199996936673}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016418359999761378, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 557, in test_reading_channel_without_response_info\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003567310000107682}, "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.00018945699997630072}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002044553000018823, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 619, in test_parsing_faulty_header_at_channel_level\n    inv_obs_good = obspy.read_inventory(good_file)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003443169999854945}, "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.0002142429999594242}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010863520000157223, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 648, in test_parsing_files_with_no_endtime\n    inv_obs_a = obspy.read_inventory(file_a)\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003507590000140226}, "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.00018798400003561255}}, {"call": {"outcome": "passed", "duration": 0.01070240499996089}, "setup": {"outcome": "passed", "duration": 0.0005328720000079556}, "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.00022024399999054367}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008929079999688838, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 846, in test_read_write_stationtxt\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039962099998547274}, "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.0002868189999958304}}, {"call": {"outcome": "passed", "duration": 0.0014109920000464626}, "setup": {"outcome": "passed", "duration": 0.0014530809999655503}, "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.00018415599998888865}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008364720000031411, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 94, in test_different_write_levels\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003840719999743669}, "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.00019681999998510946}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007347510000386137, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 139, in test_read_and_write_minimal_file\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003996809999762263}, "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.00019242199999780496}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009157210000125815, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 168, in test_subsecond_read_and_write_minimal_file\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037920299996585527}, "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.0001967299999705574}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008662790000357745, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 191, in test_read_and_write_full_file\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003956740000035097}, "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.00019548699998495067}}, {"call": {"outcome": "passed", "duration": 0.004207667999992282}, "setup": {"outcome": "passed", "duration": 0.00035703100002137944}, "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.00020126800001207812}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007645270000011806, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 319, in test_reading_other_module_tags\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003785010000001421}, "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.0002019389999645682}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007173480000233212, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 329, in test_reading_and_writing_full_root_tag\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035611900000276364}, "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.00019476599999279642}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008491860000390261, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 357, in test_reading_and_writing_full_network_tag\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040947899998400317}, "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.0001946559999623787}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009845509999877322, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 437, in test_reading_and_writing_full_station_tag\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038442300001406693}, "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.0001900770000133889}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007985700000290308, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 647, in test_reading_and_writing_channel_with_response\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038241900000457463}, "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.00019100999998045154}}, {"call": {"outcome": "passed", "duration": 0.005824668000002475}, "setup": {"outcome": "passed", "duration": 0.00038762899998801004}, "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.0002054070000099273}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008157530000403312, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 735, in test_parse_file_with_no_default_namespace\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040989000001445675}, "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.0002188110000247434}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007811780000110957, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 748, in test_parse_file_with_schema_2\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000377770000000055}, "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.0002145230000110132}}, {"call": {"outcome": "passed", "duration": 0.06159085900003447}, "setup": {"outcome": "passed", "duration": 0.0003271649999874171}, "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.0002485269999965567}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008890000000292275, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 797, in test_write_with_extra_tags_namespace_redef\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043014900001026035}, "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.00020596699999941848}}, {"call": {"outcome": "passed", "duration": 0.09110098299998981}, "setup": {"outcome": "passed", "duration": 0.00036659900001723145}, "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.0002527849999864884}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009359289999792963, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 922, in test_write_with_extra_tags_and_read\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044013699999823075}, "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.00018988699997635194}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000743086999989373, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 1091, in test_reading_file_with_empty_channel_object\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003878589999999349}, "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.0001912390000029518}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007508310000048368, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 1104, in test_reading_channel_without_coordinates\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038394199998492695}, "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.00019263199999386416}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.06291847400001416, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 1142, in test_units_during_identity_stage\n    inv_2 = obspy.read_inventory(buf)\n            ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033969800000477335}, "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.0002515830000220376}}, {"call": {"outcome": "passed", "duration": 0.0388406600000053}, "setup": {"outcome": "passed", "duration": 0.0004240769999910299}, "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.00024816699999519187}}, {"call": {"outcome": "passed", "duration": 0.008020805000001019}, "setup": {"outcome": "passed", "duration": 0.0004755339999746866}, "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.0001953569999955107}}, {"call": {"outcome": "passed", "duration": 0.0018800429999714652}, "setup": {"outcome": "passed", "duration": 0.000390714999980446}, "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.00020665800002461765}}, {"call": {"outcome": "passed", "duration": 0.0018986279999921862}, "setup": {"outcome": "passed", "duration": 0.0003325760000052469}, "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.0003038209999886021}}, {"call": {"outcome": "failed", "duration": 0.011524651000001995, "longrepr": "013 \n014 Reading\n015 -------\n016 Importing WAV files is done similar to reading any other waveform data\n017 format within ObsPy by using the :func:`~obspy.core.stream.read()` method of\n018 the :mod:`obspy.core` module. Examples seismograms files may be found at\n019 https://examples.obspy.org.\n020 \n021 >>> from obspy import read\n022 >>> st = read(\"/path/to/3cssan.near.8.1.RNON.wav\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.wav[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/wav/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007465029999593753}, "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.00020171899996057618}}, {"call": {"outcome": "skipped", "duration": 0.00021532499999921129, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00046895099995936107}, "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.00018756299999722614}}, {"call": {"outcome": "failed", "duration": 0.010809545999961756, "longrepr": "075 \n076     :type filename: str\n077     :param filename: Audio WAV file to be read.\n078     :rtype: :class:`~obspy.core.stream.Stream`\n079     :return: A ObsPy Stream object.\n080 \n081     .. rubric:: Example\n082 \n083     >>> from obspy import read\n084     >>> st = read(\"/path/to/3cssan.near.8.1.RNON.wav\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.wav.core._read_wav[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/wav/core.py:84: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034090099995864875}, "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.0001956270000391669}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008210430000303859, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/wav/tests/test_core.py\", line 30, in test_read_via_obspy\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001357541000004403}, "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.00022168699996427677}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000780517000009695, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/wav/tests/test_core.py\", line 43, in test_read_head_via_obspy\n    tr = read(self.file, headonly=True)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041689300002190066}, "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.0002021799999738505}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00339487100001179, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/wav/tests/test_core.py\", line 67, in test_read_and_write_via_obspy\n    tr3 = read(testfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004055120000430179}, "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.00021838100002469218}}, {"call": {"outcome": "passed", "duration": 0.009432227000047533}, "setup": {"outcome": "passed", "duration": 0.000437551999993957}, "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.0002140230000122756}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003177361999973982, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/wav/tests/test_core.py\", line 112, in test_write_stream_via_obspy\n    tr30 = read(testfile0)[0]\n           ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004454379999856428}, "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.00035876499998721556}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007908059999977013, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/win/tests/test_core.py\", line 21, in test_read_via_obspy\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0012580650000018068}, "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.00018619899998384426}}, {"call": {"outcome": "passed", "duration": 0.0478759520000267}, "setup": {"outcome": "passed", "duration": 0.0003390170000443504}, "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.00023687599997401776}}, {"call": {"outcome": "passed", "duration": 0.06444303900002524}, "setup": {"outcome": "passed", "duration": 0.00041591100000459846}, "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.0002355130000069039}}, {"call": {"outcome": "passed", "duration": 0.05309560200004171}, "setup": {"outcome": "passed", "duration": 0.00040591399999811983}, "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.0002489579999860325}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001009377000002587, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/win/tests/test_core.py\", line 89, in test_read_24bit_data\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004415299999891431}, "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.0003108739999788668}}, {"call": {"outcome": "passed", "duration": 0.019192252000038934}, "setup": {"outcome": "passed", "duration": 0.0007602489999953832}, "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.0002417439999931048}}, {"call": {"outcome": "passed", "duration": 0.011993171999961305}, "setup": {"outcome": "passed", "duration": 0.0005079249999653257}, "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.0002889030000119419}}, {"call": {"outcome": "passed", "duration": 0.0006269680000059452}, "setup": {"outcome": "passed", "duration": 0.000882267999998021}, "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.0002244819999646097}}, {"call": {"outcome": "passed", "duration": 0.029148974999998245}, "setup": {"outcome": "passed", "duration": 0.0006010299999843483}, "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.00035119999995458784}}, {"call": {"outcome": "passed", "duration": 0.003772599999990689}, "setup": {"outcome": "passed", "duration": 0.0005459959999711828}, "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.00025856600001361585}}, {"call": {"outcome": "passed", "duration": 0.00031286799998042625}, "setup": {"outcome": "passed", "duration": 0.00044569799996452275}, "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.00021655699998746059}}, {"call": {"outcome": "passed", "duration": 0.001954764000004161}, "setup": {"outcome": "passed", "duration": 0.00039156600001888364}, "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.00020881299997199676}}, {"call": {"outcome": "passed", "duration": 0.0003553679999868109}, "setup": {"outcome": "passed", "duration": 0.00037324200002331054}, "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.0002671629999895231}}, {"call": {"outcome": "passed", "duration": 0.0007275670000126411}, "setup": {"outcome": "passed", "duration": 0.0014694619999886527}, "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.0002241920000187747}}, {"call": {"outcome": "passed", "duration": 0.002739118000022245}, "setup": {"outcome": "passed", "duration": 0.000688564000029146}, "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.00021646599998348393}}, {"call": {"outcome": "passed", "duration": 0.0016861089999906653}, "setup": {"outcome": "passed", "duration": 0.000664579000044796}, "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.00022834899999679692}}, {"call": {"outcome": "passed", "duration": 0.08833495400000402}, "setup": {"outcome": "passed", "duration": 0.0006560130000252684}, "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.00029112700002542624}}, {"call": {"outcome": "passed", "duration": 0.30623392100000046}, "setup": {"outcome": "passed", "duration": 0.0008009850000121332}, "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.0002719209999781924}}, {"call": {"outcome": "passed", "duration": 0.014575765000017782}, "setup": {"outcome": "passed", "duration": 0.0007269160000191732}, "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.0002666720000092937}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010813430000098379, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 147, in test_read_resp_metadata\n    inv = obspy.read_inventory(filename_a)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007589159999952244}, "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.00024509100001068873}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009569590000069184, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 292, in test_read_seed_metainformation\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007005269999922348}, "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.00022425099996326026}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008677910000187694, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 404, in test_response_calculation_from_resp_files\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006287120000365576}, "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.000226475000033588}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.022986382999988564, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 438, in test_response_calculation_from_seed_and_xseed\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006584679999832588}, "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.0003020969999738554}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013440360000345208, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 515, in test_warning_when_blockette_54_is_not_followed_by_57\n    obspy.read_inventory(filename, skip_invalid_responses=False)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007501999999703912}, "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.00022508300003210024}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012273670000126913, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 548, in test_warning_when_blockette_57_is_not_followed_by_58\n    obspy.read_inventory(filename, skip_invalid_responses=False)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000656975000026705}, "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.00022400099999231315}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 946, "message": "AssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "outcome": "failed", "duration": 0.0008440760000212322, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 567, in test_warning_with_multiple_blockettes_58_in_stage_0\n    obspy.read_inventory(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 566, in test_warning_with_multiple_blockettes_58_in_stage_0\n    with CatchAndAssertWarnings(expected=[(Warning, msg)]):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 946, in _assert_warnings\n    raise AssertionError(msg % (category.__name__, regex))\nAssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "setup": {"outcome": "passed", "duration": 0.0006496910000350908}, "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.00022634499998730462}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 946, "message": "AssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple different blockettes 58 for stage 0. The last one will be chosen - this is a faulty file - try to fix it!)"}, "outcome": "failed", "duration": 0.0008065259999625596, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 579, in test_warning_with_multiple_differing_blockettes_58_in_stage_0\n    obspy.read_inventory(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 578, in test_warning_with_multiple_differing_blockettes_58_in_stage_0\n    with CatchAndAssertWarnings(expected=[(Warning, msg)]):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 946, in _assert_warnings\n    raise AssertionError(msg % (category.__name__, regex))\nAssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple different blockettes 58 for stage 0. The last one will be chosen - this is a faulty file - try to fix it!)"}, "setup": {"outcome": "passed", "duration": 0.0006463249999910659}, "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.0002224990000172511}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010539720000224406, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 589, in test_blkts_53_and_54_in_one_stage\n    obspy.read_inventory(filename, skip_invalid_responses=False)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006537489999800528}, "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.00021771999996644809}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008929989999728605, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 611, in test_reconstructing_stage_0_from_other_blockettes\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006165489999716556}, "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.00021584499995697115}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009399959999996099, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 628, in test_parsing_blockette_62\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006364660000031108}, "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.00022499299996070476}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000747735000004468, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 653, in test_parsing_blockette_62_as_stage_0\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006148960000018633}, "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.0002357939999910741}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 946, "message": "AssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "outcome": "failed", "duration": 0.000787129000002551, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 670, in test_warning_with_no_blockettes_58\n    obspy.read_inventory(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 669, in test_warning_with_no_blockettes_58\n    with CatchAndAssertWarnings(expected=[(Warning, msg)]):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 946, in _assert_warnings\n    raise AssertionError(msg % (category.__name__, regex))\nAssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "setup": {"outcome": "passed", "duration": 0.0006272990000297796}, "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.000218460999974468}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008519510000155606, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 680, in test_paz_with_no_actual_values\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006145049999872754}, "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.0002142730000400661}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008329959999855419, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 696, in test_response_of_strain_meter\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000634563000005528}, "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.00021726900001795002}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008466009999779089, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 717, in test_response_multiple_gain_blockettes\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006137840000519645}, "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.00022674600000982537}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008214640000119289, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 736, in test_response_regression_1\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006274090000033539}, "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.00021229899999752888}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0030516350000198145, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 758, in test_response_regression_2\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006395219999717483}, "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.0002445100000159073}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008581029999845668, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 781, in test_response_regression_segfault\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006776339999987613}, "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.0002239109999777611}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021271880000313104, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_core.py\", line 799, in test_response_lots_zero_frequency_gains\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006780949999551922}, "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.0005791989999579528}}, {"call": {"outcome": "passed", "duration": 0.0003152730000124393}, "setup": {"outcome": "passed", "duration": 0.0004508370000166906}, "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.00018016900003203773}}, {"call": {"outcome": "passed", "duration": 0.002430267999955049}, "setup": {"outcome": "passed", "duration": 0.0003205129999628298}, "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.00019522700000607074}}, {"call": {"outcome": "passed", "duration": 0.0022218359999897075}, "setup": {"outcome": "passed", "duration": 0.0003063359999941895}, "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.00018197200000713565}}, {"call": {"outcome": "passed", "duration": 0.0002724720000060188}, "setup": {"outcome": "passed", "duration": 0.0003263840000045093}, "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.00018559900001946517}}, {"call": {"outcome": "passed", "duration": 0.0011631159999865304}, "setup": {"outcome": "passed", "duration": 0.0002888940000502771}, "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.00017371600000615217}}, {"call": {"outcome": "passed", "duration": 0.000658256999997775}, "setup": {"outcome": "passed", "duration": 0.00031345900003998395}, "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.00017996799999764335}}, {"call": {"outcome": "passed", "duration": 0.006174245000011069}, "setup": {"outcome": "passed", "duration": 0.0010783860000174172}, "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.00021730899999283793}}, {"call": {"outcome": "passed", "duration": 0.0003779099999974278}, "setup": {"outcome": "passed", "duration": 0.0004865349999931823}, "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.00020247000003337234}}, {"call": {"outcome": "passed", "duration": 0.0003262129999939134}, "setup": {"outcome": "passed", "duration": 0.0004294569999956366}, "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.00020004600003176165}}, {"call": {"outcome": "passed", "duration": 0.0017596779999848877}, "setup": {"outcome": "passed", "duration": 0.00043393600003582833}, "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.00020574600000600185}}, {"call": {"outcome": "passed", "duration": 0.00784291099995471}, "setup": {"outcome": "passed", "duration": 0.0004358990000241647}, "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.0002171989999624202}}, {"call": {"outcome": "passed", "duration": 0.007744976999958908}, "setup": {"outcome": "passed", "duration": 0.0004482019999727527}, "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.00021215900000015608}}, {"call": {"outcome": "passed", "duration": 0.00040852799997992406}, "setup": {"outcome": "passed", "duration": 0.0004392459999849052}, "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.00019903399999066096}}, {"call": {"outcome": "passed", "duration": 0.0016193530000236933}, "setup": {"outcome": "passed", "duration": 0.00041372800001227006}, "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.00020678800001405762}}, {"call": {"outcome": "passed", "duration": 0.002812866999988728}, "setup": {"outcome": "passed", "duration": 0.00043865399999276633}, "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.00020910199998525059}}, {"call": {"outcome": "passed", "duration": 0.0006093960000157495}, "setup": {"outcome": "passed", "duration": 0.0004168739999954596}, "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.00020233999998708896}}, {"call": {"outcome": "passed", "duration": 0.04734573499996486}, "setup": {"outcome": "passed", "duration": 0.0004113629999551449}, "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.00025602099998423}}, {"call": {"outcome": "passed", "duration": 0.3824110150000024}, "setup": {"outcome": "passed", "duration": 0.0005052800000271418}, "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.00026852500002405577}}, {"call": {"outcome": "passed", "duration": 0.0028009240000415048}, "setup": {"outcome": "passed", "duration": 0.000502764999964711}, "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.0002113969999868459}}, {"call": {"outcome": "passed", "duration": 0.08752053400002069}, "setup": {"outcome": "passed", "duration": 0.0004482019999727527}, "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.00026616000002377405}}, {"call": {"outcome": "passed", "duration": 0.03837422300000526}, "setup": {"outcome": "passed", "duration": 0.0005238949999579745}, "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.0002675430000067536}}, {"call": {"outcome": "passed", "duration": 0.10625511399996412}, "setup": {"outcome": "passed", "duration": 0.0005308579999905305}, "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.00026996799999778887}}, {"call": {"outcome": "passed", "duration": 0.021710233999954198}, "setup": {"outcome": "passed", "duration": 0.0005080450000036763}, "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.00027210100000729653}}, {"call": {"outcome": "passed", "duration": 0.0348939930000256}, "setup": {"outcome": "passed", "duration": 0.0005159799999887582}, "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.0003063559999532117}}, {"call": {"outcome": "passed", "duration": 0.03590843900002483}, "setup": {"outcome": "passed", "duration": 0.0005703319999952328}, "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.00030540500000597604}}, {"call": {"outcome": "passed", "duration": 0.03515693700001066}, "setup": {"outcome": "passed", "duration": 0.0005638289999865265}, "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.000269026000012218}}, {"call": {"outcome": "passed", "duration": 0.00815524799998002}, "setup": {"outcome": "passed", "duration": 0.0005177930000286324}, "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.00023637399999643094}}, {"call": {"outcome": "passed", "duration": 0.013152820000016163}, "setup": {"outcome": "passed", "duration": 0.000514136999981929}, "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.0002568019999671378}}, {"call": {"outcome": "passed", "duration": 0.0011575259999858645}, "setup": {"outcome": "passed", "duration": 0.0005209699999682016}, "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.0002093140000170024}}, {"call": {"outcome": "passed", "duration": 0.0013102220000291709}, "setup": {"outcome": "passed", "duration": 0.00045294099999182436}, "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.00020527500004163812}}, {"call": {"outcome": "passed", "duration": 0.022221233999971446}, "setup": {"outcome": "passed", "duration": 0.00043039900003805087}, "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.00028353300001526804}}, {"call": {"outcome": "passed", "duration": 0.038382439000031354}, "setup": {"outcome": "passed", "duration": 0.0005269609999913882}, "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.00028947399999879053}}, {"call": {"outcome": "passed", "duration": 0.012327067999990504}, "setup": {"outcome": "passed", "duration": 0.00053448500000286}, "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.00026645100001587707}}, {"call": {"outcome": "passed", "duration": 0.015518155999984629}, "setup": {"outcome": "passed", "duration": 0.0005115710000040963}, "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.0002530560000195692}}, {"call": {"outcome": "passed", "duration": 0.022892004999960136}, "setup": {"outcome": "passed", "duration": 0.0005119420000028185}, "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.00026620099998808655}}, {"call": {"outcome": "passed", "duration": 0.005583764999983032}, "setup": {"outcome": "passed", "duration": 0.0005127640000068823}, "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.00024428899996564724}}, {"call": {"outcome": "passed", "duration": 0.02124058099997228}, "setup": {"outcome": "passed", "duration": 0.0004842199999757213}, "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.0002913870000043062}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009832780000351704, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_parser.py\", line 789, in test_rotation_to_zne\n    st = read(testdata[\"II_COCO_three_channel_borehole.mseed\"])\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005435319999946842}, "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.00022537400002420327}}, {"call": {"outcome": "passed", "duration": 0.0022956949999866083}, "setup": {"outcome": "passed", "duration": 0.0005155589999503718}, "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.00019966600001453116}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.022235902000034002, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_parser.py\", line 858, in test_parsing_resp_file_without_clear_blkt_separation\n    obs_r = obspy.read_inventory(filename)[0][0][0].response\\\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004290759999889815}, "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.0003177069999651394}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008519309999996949, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/xseed/tests/test_parser.py\", line 868, in test_parsing_resp_file_with_mutiple_blockette55\n    inv_xml = obspy.read_inventory(testdata['issue3275.xml'])\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004994590000251264}, "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.0006924319999939144}}, {"call": {"outcome": "passed", "duration": 0.012569754000026023}, "setup": {"outcome": "passed", "duration": 0.0010809010000230046}, "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.0002606300000138617}}, {"call": {"outcome": "passed", "duration": 0.012294065999981285}, "setup": {"outcome": "passed", "duration": 0.0005004200000371384}, "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.000261571000010008}}, {"call": {"outcome": "passed", "duration": 0.018710165000015877}, "setup": {"outcome": "passed", "duration": 0.0005010719999631874}, "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.0002626039999995555}}, {"call": {"outcome": "passed", "duration": 0.04777178699998785}, "setup": {"outcome": "passed", "duration": 0.0005225220000397712}, "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.0002697069999726409}}, {"call": {"outcome": "passed", "duration": 0.04794745600003125}, "setup": {"outcome": "passed", "duration": 0.0005081240000208709}, "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.0004034789999991517}}, {"call": {"outcome": "passed", "duration": 0.00024970999999140986}, "setup": {"outcome": "passed", "duration": 0.0004977660000236028}, "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.00018182200000183002}}, {"call": {"outcome": "passed", "duration": 0.0006431179999708547}, "setup": {"outcome": "passed", "duration": 0.00030464299999266586}, "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.0001761800000394942}}, {"call": {"outcome": "passed", "duration": 0.0004593130000216661}, "setup": {"outcome": "passed", "duration": 0.0002962870000260409}, "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.00017586100000244187}}, {"call": {"outcome": "passed", "duration": 0.0039202679999448264}, "setup": {"outcome": "passed", "duration": 0.0002973990000327831}, "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.00021203799997238093}}, {"call": {"outcome": "skipped", "duration": 0.0002310149999971145, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0007570030000465522}, "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.00017571000000771164}}, {"call": {"outcome": "failed", "duration": 0.012516776000040863, "longrepr": "140     :type headonly: bool, optional\n141     :param headonly: If set to True, read only the head. This is most useful\n142         for scanning available data in huge (temporary) data sets.\n143     :rtype: :class:`~obspy.core.stream.Stream`\n144     :return: A ObsPy Stream object.\n145 \n146     .. rubric:: Example\n147 \n148     >>> from obspy import read\n149     >>> st = read(\"/path/to/YAYT_BHZ_20021223.124800\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.y.core._read_y[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/y/core.py:149: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003255720000083784}, "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.0002405820000035419}}, {"call": {"outcome": "passed", "duration": 0.00030696699997179167}, "setup": {"outcome": "passed", "duration": 0.0011060790000101406}, "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.00019421399997554545}}, {"call": {"outcome": "passed", "duration": 0.0027154940000286842}, "setup": {"outcome": "passed", "duration": 0.00033818499997551044}, "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.00020507600004293636}}, {"call": {"outcome": "passed", "duration": 0.0008792030000108753}, "setup": {"outcome": "passed", "duration": 0.0003555779999828701}, "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.00027421600003663116}}, {"call": {"outcome": "failed", "duration": 0.013431824999997843, "longrepr": "013 \n014 \n015 Usage Example\n016 -------------\n017 \n018 The ZMAP reader and writer hooks into the standard ObsPy event handling\n019 mechanisms including format autodetection.\n020 \n021 >>> from obspy.core.event import read_events\n022 >>> cat = read_events('/path/to/zmap_events.txt')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.zmap[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/zmap/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007928599999900143}, "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.0003439670000489059}}, {"call": {"outcome": "passed", "duration": 0.010957184000005782}, "setup": {"outcome": "passed", "duration": 0.0006327990000158934}, "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.00030722800005378303}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023904630000401994, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 36, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_serialize", "outcome": "error", "keywords": ["test_serialize", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027871499997900173}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010875040000541958, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 58, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_plugin_interface", "outcome": "error", "keywords": ["test_plugin_interface", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002628039999876819}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010701709999807463, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 68, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_dump_to_file", "outcome": "error", "keywords": ["test_dump_to_file", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00027000699998325217}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001035516000001735, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 78, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_dump_to_filename", "outcome": "error", "keywords": ["test_dump_to_filename", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00026743199998691125}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00131122499999492, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 88, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_dump_with_uncertainty", "outcome": "error", "keywords": ["test_dump_with_uncertainty", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024091300002737626}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009996989999763173, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 99, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_ou_hz_error", "outcome": "error", "keywords": ["test_ou_hz_error", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023218600000518563}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009609960000034334, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 119, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_lat_lon_hz_error", "outcome": "error", "keywords": ["test_lat_lon_hz_error", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022258799998553513}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009682389999738916, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 133, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_is_zmap", "outcome": "error", "keywords": ["test_is_zmap", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021975300001031428}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009389850000047772, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 174, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_is_zmap_binary_files", "outcome": "error", "keywords": ["test_is_zmap_binary_files", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002210960000184059}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009462380000400117, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 183, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_deserialize", "outcome": "error", "keywords": ["test_deserialize", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00025993799999923795}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010193660000368254, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 211, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_read", "outcome": "error", "keywords": ["test_read", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024699400000827154}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001206357000000935, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 228, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_read_float_seconds", "outcome": "error", "keywords": ["test_read_float_seconds", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00024011099998233476}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001027260999990176, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 306, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_no_origin_depth", "outcome": "error", "keywords": ["test_no_origin_depth", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00047925100000156817}}, {"call": {"outcome": "failed", "duration": 0.013032936000001882, "longrepr": "058     RtTrace object (step 3) which will automatically process any appended data\n059     chunks.\n060 \n061     1. Read first trace of example SAC data file and extract contained time\n062        offset and epicentral distance of an earthquake::\n063 \n064         >>> from obspy.realtime import RtTrace\n065         >>> from obspy import read\n066         >>> from obspy.realtime.signal import calculate_mwp_mag\n067         >>> data_trace = read(\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.realtime.rttrace.RtTrace[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/realtime/rttrace.py:67: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007837029999677725}, "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.00032401900000422756}}, {"call": {"outcome": "passed", "duration": 0.0007310839999945529}, "setup": {"outcome": "passed", "duration": 0.0009009429999764507}, "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.00022495299998581686}}, {"call": {"outcome": "passed", "duration": 0.0005527790000314781}, "setup": {"outcome": "passed", "duration": 0.00038629599998785125}, "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.0002177590000087548}}, {"call": {"outcome": "passed", "duration": 0.0005915919999779362}, "setup": {"outcome": "passed", "duration": 0.0003490459999966333}, "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.00018191200001638208}}, {"call": {"outcome": "passed", "duration": 0.0010030349999965438}, "setup": {"outcome": "passed", "duration": 0.0003309319999971194}, "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.00018302399996628083}}, {"call": {"outcome": "passed", "duration": 0.0006484889999569532}, "setup": {"outcome": "passed", "duration": 0.0003218550000383402}, "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.00017779400002382317}}, {"call": {"outcome": "passed", "duration": 0.000658738000026915}, "setup": {"outcome": "passed", "duration": 0.0003057050000165873}, "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.00019259200001897625}}, {"call": {"outcome": "passed", "duration": 0.0008310720000395122}, "setup": {"outcome": "passed", "duration": 0.00030270899998185996}, "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.0001932730000362426}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0028364710000232662, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/realtime/tests/test_rttrace.py\", line 181, in test_append_not_float32\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003051929999742242}, "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.00019828300003155164}}, {"call": {"outcome": "passed", "duration": 0.002230010999994647}, "setup": {"outcome": "passed", "duration": 0.0003374639999833562}, "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.00020078699998293814}}, {"call": {"outcome": "passed", "duration": 0.009682809000025827}, "setup": {"outcome": "passed", "duration": 0.006049770999993598}, "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.0002465930000425942}}, {"call": {"outcome": "passed", "duration": 0.01512265200000229}, "setup": {"outcome": "passed", "duration": 0.005385451999984525}, "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.00023058300001821408}}, {"call": {"outcome": "passed", "duration": 0.015255792999994355}, "setup": {"outcome": "passed", "duration": 0.0054281019999962155}, "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.00027914399998962836}}, {"call": {"outcome": "passed", "duration": 0.03812029599998823}, "setup": {"outcome": "passed", "duration": 0.005733946000020751}, "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.00028642799998124246}}, {"call": {"outcome": "passed", "duration": 0.0025079929999947126}, "setup": {"outcome": "passed", "duration": 0.00568266000004769}, "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.00022661599996354198}}, {"call": {"outcome": "passed", "duration": 0.002553718999990906}, "setup": {"outcome": "passed", "duration": 0.005418645000020206}, "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.00023042300000497562}}, {"call": {"outcome": "passed", "duration": 0.05652424600003769}, "setup": {"outcome": "passed", "duration": 0.005772820000004231}, "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.00030140600000549966}}, {"call": {"outcome": "passed", "duration": 0.009830897000028926}, "setup": {"outcome": "passed", "duration": 0.005786575000001903}, "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.00030262899997524073}}, {"call": {"outcome": "passed", "duration": 0.06124523999994835}, "setup": {"outcome": "passed", "duration": 0.005634500000041953}, "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.00028906400001460497}}, {"call": {"outcome": "passed", "duration": 0.008810347999997248}, "setup": {"outcome": "passed", "duration": 0.005681097999968188}, "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.00024344799999198585}}, {"call": {"outcome": "passed", "duration": 0.02210148000000345}, "setup": {"outcome": "passed", "duration": 0.005478095999990273}, "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.0002832330000046568}}, {"call": {"outcome": "passed", "duration": 0.02914727199998879}, "setup": {"outcome": "passed", "duration": 0.005537817999993422}, "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.0005095170000117832}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016771029999631537, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/scripts/tests/test_print.py\", line 18, in test_print\n    obspy_print(all_files)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/scripts/print.py\", line 31, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001044022000030509}, "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.00019476599999279642}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016662819999737621, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/scripts/tests/test_print.py\", line 27, in test_print_nomerge\n    obspy_print(['--no-merge'] + all_files)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/scripts/print.py\", line 31, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003569510000147602}, "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.00023247699999728866}}, {"call": {"outcome": "failed", "duration": 0.0058826960000146755, "longrepr": "031     :class:`numpy.ndarray`) and therefore the ``sampling_rate`` needs to be\n032     also specified. It returns the filtered data.  For\n033     :class:`~obspy.core.stream.Stream` and :class:`~obspy.core.trace.Trace`\n034     objects simply use their respective filtering methods\n035     :meth:`Stream.filter() <obspy.core.stream.Stream.filter>` and\n036     :meth:`Trace.filter() <obspy.core.trace.Trace.filter>`.\n037 \n038 >>> from obspy import read\n039 >>> import obspy.signal\n040 >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/__init__.py:40: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006018010000161667}, "lineno": 1, "nodeid": "signal/__init__.py::obspy.signal", "outcome": "failed", "keywords": ["obspy.signal", "filterwarnings", "__init__.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021450299999514755}}, {"call": {"outcome": "failed", "duration": 0.005649387999994815, "longrepr": "123             bbbbbbbb\n124 \n125         For odd ``len(a)-len(b)`` the cross-correlation function will\n126         consist of only ``2*shift`` samples because a shift of 0\n127         corresponds to the middle between two samples.\n128 \n129     .. rubric:: Example\n130 \n131     >>> from obspy import read\n132     >>> a = read()[0][450:550]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlate[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/cross_correlation.py:132: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004191180000248096}, "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.00019425499999670137}}, {"call": {"outcome": "failed", "duration": 0.006538459000012153, "longrepr": "823 \n824         Use :func:`~obspy.signal.cross_correlation.correlation_detector`\n825         for detecting events based on their similarity.\n826         The returned stream of cross-correlations is suitable for\n827         use with :func:`~obspy.signal.trigger.coincidence_trigger`, though.\n828 \n829     .. rubric:: Example\n830 \n831     >>> from obspy import read, UTCDateTime\n832     >>> data = read().filter('highpass', freq=5)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlate_stream_template[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/cross_correlation.py:832: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003498079999531001}, "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.00021913200004064493}}, {"call": {"outcome": "failed", "duration": 0.00556056099998159, "longrepr": "223     .. note::\n224         Calling the function with ``demean=True, normalize='full'`` (default)\n225         returns the zero-normalized cross-correlation function.\n226         Calling the function with ``demean=False, normalize='full'``\n227         returns the normalized cross-correlation function.\n228 \n229     .. rubric:: Example\n230 \n231     >>> from obspy import read\n232     >>> data = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlate_template[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/cross_correlation.py:232: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034276399998134366}, "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.00022259799999346797}}, {"call": {"outcome": "failed", "duration": 0.005538790000002791, "longrepr": "1038         time, similarity, template_id,\n1039         amplitude_ratio, magnitude (if template_magnitudes is provided),\n1040         template_name (if template_names is provided),\n1041         cross-correlation values, properties returned by find_peaks\n1042         (if details are requested)\n1043 \n1044     .. rubric:: Example\n1045 \n1046     >>> from obspy import read, UTCDateTime\n1047     >>> data = read().filter('highpass', freq=5)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlation_detector[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/cross_correlation.py:1047: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033336600000666294}, "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.00020018600002913445}}, {"call": {"outcome": "failed", "duration": 0.005956314999991719, "longrepr": "638     - computes cross correlation on each component (one stream serves as\n639       template, one as a longer search stream)\n640     - stack all three and determine best shift in stack\n641     - normalization is a bit problematic so compute the correlation coefficient\n642       afterwards for the best shift to make sure the result is between 0 and 1.\n643 \n644     >>> from obspy import read, UTCDateTime\n645     >>> import numpy as np\n646     >>> np.random.seed(123)  # make test reproducible\n647     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.templates_max_similarity[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/cross_correlation.py:647: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033808599999929356}, "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.00022802900002716342}}, {"call": {"outcome": "passed", "duration": 0.0033849520000330813}, "setup": {"outcome": "passed", "duration": 0.00035545800000136296}, "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.00019726099998251811}}, {"call": {"outcome": "failed", "duration": 0.006239166000000296, "longrepr": "076 \n077 \n078     .. rubric:: Example\n079 \n080     >>> import obspy\n081     >>> from obspy.signal.detrend import polynomial\n082 \n083     Prepare some example data.\n084 \n085     >>> tr = obspy.read()[0].filter(\"highpass\", freq=2)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.detrend.polynomial[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/detrend.py:85: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00045354200000247147}, "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.00022810899997693923}}, {"call": {"outcome": "failed", "duration": 0.005787577999967652, "longrepr": "139 \n140 \n141     .. rubric:: Example\n142 \n143     >>> import obspy\n144     >>> from obspy.signal.detrend import spline\n145 \n146     Prepare some example data.\n147 \n148     >>> tr = obspy.read()[0].filter(\"highpass\", freq=2)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.detrend.spline[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/detrend.py:148: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003621509999902628}, "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.00022834899999679692}}, {"call": {"outcome": "passed", "duration": 0.003525736000028701}, "setup": {"outcome": "passed", "duration": 0.0004528410000261829}, "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.00018584899999041227}}, {"call": {"outcome": "passed", "duration": 0.002989448999983324}, "setup": {"outcome": "passed", "duration": 0.0003533240000024307}, "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.00018324399997027285}}, {"call": {"outcome": "passed", "duration": 0.0027107639999712774}, "setup": {"outcome": "passed", "duration": 0.0003311319999852458}, "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.00018275299999004346}}, {"call": {"outcome": "skipped", "duration": 0.0002198329999600901, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003744240000287391}, "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.0005443539999987479}}, {"call": {"outcome": "passed", "duration": 0.004277779999995346}, "setup": {"outcome": "passed", "duration": 0.0003851829999916845}, "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.00019238099997664904}}, {"call": {"outcome": "failed", "duration": 0.00569868000002316, "longrepr": "207 \n208     Calculations are based on the routine used by [McNamara2004]_.\n209     For information on New High/Low Noise Model see [Peterson1993]_.\n210 \n211     .. rubric:: Basic Usage\n212 \n213     >>> from obspy import read\n214     >>> from obspy.signal import PPSD\n215 \n216     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.spectral_estimation.PPSD[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/spectral_estimation.py:216: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003936299999622861}, "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.0002151539999886154}}, {"call": {"outcome": "passed", "duration": 0.25767585800002735}, "setup": {"outcome": "passed", "duration": 0.0008289280000326471}, "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.00026947599997129146}}, {"call": {"outcome": "passed", "duration": 0.2514179749999812}, "setup": {"outcome": "passed", "duration": 0.0005307669999865539}, "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.00028744100001176776}}, {"call": {"outcome": "passed", "duration": 0.24927321500001653}, "setup": {"outcome": "passed", "duration": 0.000509637999982715}, "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.000288993000026494}}, {"call": {"outcome": "passed", "duration": 0.000518433999957324}, "setup": {"outcome": "passed", "duration": 0.0005068319999850246}, "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.00020855200000369223}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012544880000291414, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_calibration.py\", line 24, in test_relcal_sts2_vs_unknown\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011941150000325251}, "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.00021611599999005193}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008232669999870268, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_calibration.py\", line 69, in test_relcal_using_traces\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036139899998488545}, "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.00019031800002267119}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000787901000023794, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_calibration.py\", line 88, in test_relcal_different_overlaps\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034300400000120135}, "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.00019161999995276346}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007831519999967895, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_calibration.py\", line 115, in test_relcal_using_dict\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003426339999919037}, "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.00029739899997593966}}, {"call": {"outcome": "passed", "duration": 0.08286664700000301}, "setup": {"outcome": "passed", "duration": 0.004438321000009182}, "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.00026816400003326635}}, {"call": {"outcome": "passed", "duration": 0.22595677200001774}, "setup": {"outcome": "passed", "duration": 0.0035343929999953616}, "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.0003267049999635674}}, {"call": {"outcome": "passed", "duration": 0.07472643800002743}, "setup": {"outcome": "passed", "duration": 0.00392011700000694}, "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.00032844700001533056}}, {"call": {"outcome": "passed", "duration": 0.057939817000033145}, "setup": {"outcome": "passed", "duration": 0.0038345870000284776}, "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.0004236359999936212}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002622379000001729, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 37, in test_correlate_normalize_true_false\n    a = read()[0].data[500:]\n        ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004717069999742307}, "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.00021400200000698533}}, {"call": {"outcome": "passed", "duration": 0.0008567099999936545}, "setup": {"outcome": "passed", "duration": 0.0003515299999889976}, "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.00018633999997064166}}, {"call": {"outcome": "passed", "duration": 0.000709663999998611}, "setup": {"outcome": "passed", "duration": 0.0011132219999581139}, "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.00018332499996631668}}, {"call": {"outcome": "passed", "duration": 0.00041366799996467307}, "setup": {"outcome": "passed", "duration": 0.0003382750000469059}, "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.0001983430000223052}}, {"call": {"outcome": "passed", "duration": 0.0017544670000120277}, "setup": {"outcome": "passed", "duration": 0.0003431650000038644}, "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.0002006379999670571}}, {"call": {"outcome": "passed", "duration": 0.0022682229999873016}, "setup": {"outcome": "passed", "duration": 0.0003064059999928759}, "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.00018407499999284482}}, {"call": {"outcome": "passed", "duration": 0.0018792719999964902}, "setup": {"outcome": "passed", "duration": 0.0003208930000369037}, "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.00017820499999743333}}, {"call": {"outcome": "passed", "duration": 0.00026698199997099437}, "setup": {"outcome": "passed", "duration": 0.0003011459999697763}, "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.00017624100001967236}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023192389999735497, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 187, in test_xcorr_3c\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029070700003330785}, "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.0002130409999949734}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014728579999996327, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 200, in test_xcorr_pick_correction\n    st1 = read(testdata['BW.UH1._.EHZ.D.2010.147.a.slist.gz'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010854799999719944}, "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.00019495700001925798}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011684960000479805, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 229, in test_xcorr_pick_correction_images\n    st1 = read(testdata['BW.UH1._.EHZ.D.2010.147.a.slist.gz'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005314590000011776}, "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.0002492289999622699}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002187712000022657, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 269, in test_correlate_template_eqcorrscan\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002970580000010159}, "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.00019032800003060402}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023308810000344238, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 294, in test_correlate_template_eqcorrscan_time\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000303219999977955}, "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.00020151900002929324}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021055870000168397, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 304, in test_correlate_template_different_normalizations\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033832600001915125}, "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.00022960199999033648}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021609819999639512, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 320, in test_correlate_template_correct_alignment_of_normalization\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003192899999930887}, "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.0002191309999943769}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021469650000085494, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 332, in test_correlate_template_versus_correlate\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031558399996356457}, "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.00019492600000603488}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020508549999931347, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 341, in test_correlate_template_zeros_in_input\n    data = read()[0].data[380:420]\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000313558999948782}, "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.00021210899996049193}}, {"call": {"outcome": "passed", "duration": 0.004753033000042706}, "setup": {"outcome": "passed", "duration": 0.0003046229999768002}, "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.00020211000003200752}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002359093999984907, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 410, in test_correlate_template_nodemean_fastmatchedfilter\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030410200002961574}, "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.0001926820000335283}}, {"call": {"outcome": "passed", "duration": 0.002709922999997616}, "setup": {"outcome": "passed", "duration": 0.000306525999974383}, "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.00018332399997689208}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022091020000516437, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 441, in test_correlate_stream_template_and_correlation_detector\n    template = read().filter('highpass', freq=5).normalize()\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003072970000062014}, "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.00032362899997906425}}, {"call": {"outcome": "passed", "duration": 0.0010169809999638346}, "setup": {"outcome": "passed", "duration": 0.00036804199999096454}, "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.00020017700001062622}}, {"call": {"outcome": "passed", "duration": 0.0009139180000374836}, "setup": {"outcome": "passed", "duration": 0.0002966769999943608}, "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.00017972799997778566}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002072625000039352, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_detrend.py\", line 56, in test_polynomial_detrend_plotting\n    tr = obspy.read()[0].filter(\"highpass\", freq=2)\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004814349999833212}, "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.0002326980000475487}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023545160000253418, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_detrend.py\", line 65, in test_spline_detrend_plotting\n    tr = obspy.read()[0].filter(\"highpass\", freq=2)\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044931500002576286}, "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.0002312249999931737}}, {"call": {"outcome": "passed", "duration": 0.0008755549999932555}, "setup": {"outcome": "passed", "duration": 0.00042146200001980105}, "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.00018129100004671272}}, {"call": {"outcome": "passed", "duration": 0.003392365999957292}, "setup": {"outcome": "passed", "duration": 0.00031522199998335054}, "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.0001923620000070514}}, {"call": {"outcome": "passed", "duration": 0.005886253000028319}, "setup": {"outcome": "passed", "duration": 0.0011954459999969913}, "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.0002071690000207127}}, {"call": {"outcome": "passed", "duration": 0.005297336000012365}, "setup": {"outcome": "passed", "duration": 0.0003441069999894353}, "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.00018978599996444245}}, {"call": {"outcome": "passed", "duration": 0.005115703999990728}, "setup": {"outcome": "passed", "duration": 0.0003454789999750574}, "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.0001994339999669137}}, {"call": {"outcome": "passed", "duration": 0.0050267679999933534}, "setup": {"outcome": "passed", "duration": 0.00033997899998894354}, "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.00019294200001240824}}, {"call": {"outcome": "passed", "duration": 0.005185766000010972}, "setup": {"outcome": "passed", "duration": 0.00037522599996009376}, "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.00018594899995605374}}, {"call": {"outcome": "passed", "duration": 0.0050228400000378315}, "setup": {"outcome": "passed", "duration": 0.00035544900003969815}, "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.00018869400003040937}}, {"call": {"outcome": "passed", "duration": 0.004544630999987476}, "setup": {"outcome": "passed", "duration": 0.00034299400005011194}, "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.00020536599998877136}}, {"call": {"outcome": "passed", "duration": 0.002997173999972347}, "setup": {"outcome": "passed", "duration": 0.0003329950000079407}, "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.000186600000006365}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0026186019999840937, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_filter.py\", line 234, in test_bandpass_high_corner_at_nyquist\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003326449999576653}, "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.00020552600000200982}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002136144999951739, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_filter.py\", line 275, in test_filterarr2d_axis_and_zerophase\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032447000000956905}, "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.0003236080000306174}}, {"call": {"outcome": "passed", "duration": 0.022420308999983263}, "setup": {"outcome": "passed", "duration": 0.005396091999955388}, "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.0003035299999964991}}, {"call": {"outcome": "passed", "duration": 0.0004522099999917373}, "setup": {"outcome": "passed", "duration": 0.0049231229999691095}, "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.0002425850000236096}}, {"call": {"outcome": "passed", "duration": 0.007998713999995744}, "setup": {"outcome": "passed", "duration": 0.0046801959999811515}, "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.00026103099997953905}}, {"call": {"outcome": "passed", "duration": 0.011786463000021286}, "setup": {"outcome": "passed", "duration": 0.005156601999999566}, "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.00030157700001609555}}, {"call": {"outcome": "passed", "duration": 0.001963349999982711}, "setup": {"outcome": "passed", "duration": 0.005190936000019519}, "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.00023269700000128068}}, {"call": {"outcome": "passed", "duration": 0.002242545000001428}, "setup": {"outcome": "passed", "duration": 0.00447880800004441}, "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.00036715999999614723}}, {"call": {"outcome": "passed", "duration": 0.001159629000028417}, "setup": {"outcome": "passed", "duration": 0.004556954999998197}, "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.00028850299997884576}}, {"call": {"outcome": "passed", "duration": 0.0015397740000366866}, "setup": {"outcome": "passed", "duration": 0.0005725759999677393}, "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.00019910399998934736}}, {"call": {"outcome": "passed", "duration": 0.0005484909999609044}, "setup": {"outcome": "passed", "duration": 0.00030341100000441656}, "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.00017229299999144132}}, {"call": {"outcome": "passed", "duration": 0.002147416000013891}, "setup": {"outcome": "passed", "duration": 0.00030062500002259185}, "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.0001782349999643884}}, {"call": {"outcome": "passed", "duration": 1.3398048610000046}, "setup": {"outcome": "passed", "duration": 0.0005038969999873188}, "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.0002962879999586221}}, {"call": {"outcome": "passed", "duration": 0.016724473000010676}, "setup": {"outcome": "passed", "duration": 0.0012538269999708973}, "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.00026771300002792486}}, {"call": {"outcome": "passed", "duration": 0.09766623199999458}, "setup": {"outcome": "passed", "duration": 0.00039195700003347156}, "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.00025233500002741494}}, {"call": {"outcome": "passed", "duration": 0.020037980999973115}, "setup": {"outcome": "passed", "duration": 0.00045666800002663877}, "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.0002644969999892055}}, {"call": {"outcome": "passed", "duration": 0.23270489500004032}, "setup": {"outcome": "passed", "duration": 0.0004323219999946559}, "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.00024987900002315655}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010550229999921612, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_invsim.py\", line 277, in test_evalresp_vs_obspy\n    tr = read(rawf)[0]\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004141990000334772}, "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.0002056569999808744}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007922190000044793, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_invsim.py\", line 305, in test_cosine_taper\n    tr = read(sac_taper)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003497769999967204}, "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.00019547800002328586}}, {"call": {"outcome": "passed", "duration": 0.008150768999996671}, "setup": {"outcome": "passed", "duration": 0.0003386160000218297}, "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.00018740199999456308}}, {"call": {"outcome": "passed", "duration": 0.05804738899996664}, "setup": {"outcome": "passed", "duration": 0.00034743300000172894}, "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.00026866500002142857}}, {"call": {"outcome": "passed", "duration": 0.00261880199997222}, "setup": {"outcome": "passed", "duration": 0.0004173949999994875}, "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.00018363499998486077}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000964141999986623, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_invsim.py\", line 406, in test_evalresp_file_like_object\n    tr1 = read(rawf)[0]\n          ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003791419999856771}, "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.0002015489999962483}}, {"call": {"outcome": "passed", "duration": 0.004389209999999366}, "setup": {"outcome": "passed", "duration": 0.00035632899999882284}, "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.00018510799998239236}}, {"call": {"outcome": "passed", "duration": 0.00666153000003078}, "setup": {"outcome": "passed", "duration": 0.00034568899997111657}, "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.000184837000006155}}, {"call": {"outcome": "passed", "duration": 0.0004403379999757817}, "setup": {"outcome": "passed", "duration": 0.0003160239999715486}, "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.00025944800000843316}}, {"call": {"outcome": "passed", "duration": 0.0006946560000073987}, "setup": {"outcome": "passed", "duration": 0.0006631569999626663}, "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.0001777740000079575}}, {"call": {"outcome": "passed", "duration": 0.0015353460000255836}, "setup": {"outcome": "passed", "duration": 0.0003244790000280773}, "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.00017194299999800933}}, {"call": {"outcome": "passed", "duration": 0.035895756000002166}, "setup": {"outcome": "passed", "duration": 0.0003435550000290277}, "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.000252714999987802}}, {"call": {"outcome": "passed", "duration": 0.07351995999999872}, "setup": {"outcome": "passed", "duration": 0.006991659999982858}, "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.00029293099998994876}}, {"call": {"outcome": "passed", "duration": 0.0012176380000141762}, "setup": {"outcome": "passed", "duration": 0.006325618999994731}, "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.00023627399997394605}}, {"call": {"outcome": "passed", "duration": 0.08850329100005183}, "setup": {"outcome": "passed", "duration": 0.006180185999994592}, "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.0002700870000467148}}, {"call": {"outcome": "passed", "duration": 0.018413608000003023}, "setup": {"outcome": "passed", "duration": 0.006156470999997055}, "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.00026100100001258397}}, {"call": {"outcome": "passed", "duration": 1.1003142020000496}, "setup": {"outcome": "passed", "duration": 0.005846598000005088}, "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.0004182470000273497}}, {"call": {"outcome": "passed", "duration": 0.00056648400004633}, "setup": {"outcome": "passed", "duration": 0.00045750000003863533}, "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.0002029209999818704}}, {"call": {"outcome": "passed", "duration": 0.044775082999990445}, "setup": {"outcome": "passed", "duration": 0.00030090500001733744}, "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.00021868100003530344}}, {"call": {"outcome": "passed", "duration": 0.006001649999973324}, "setup": {"outcome": "passed", "duration": 0.00036125899998751265}, "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.00018371600003774802}}, {"call": {"outcome": "passed", "duration": 0.009080487000005633}, "setup": {"outcome": "passed", "duration": 0.0003426439999998365}, "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.00018141100002821986}}, {"call": {"outcome": "passed", "duration": 0.005430896999996548}, "setup": {"outcome": "passed", "duration": 0.0003111949999947683}, "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.00018138100000442137}}, {"call": {"outcome": "passed", "duration": 0.010154806000002736}, "setup": {"outcome": "passed", "duration": 0.00031269799995925496}, "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.00021580599997150784}}, {"call": {"outcome": "passed", "duration": 0.01671607700001232}, "setup": {"outcome": "passed", "duration": 0.0003127179999751206}, "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.0002093140000170024}}, {"call": {"outcome": "passed", "duration": 0.013882701999989422}, "setup": {"outcome": "passed", "duration": 0.00031174599996575125}, "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.00020049699998025972}}, {"call": {"outcome": "passed", "duration": 0.015739412000016273}, "setup": {"outcome": "passed", "duration": 0.0010920020000071418}, "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.00021744800000078612}}, {"call": {"outcome": "passed", "duration": 0.015521081000031245}, "setup": {"outcome": "passed", "duration": 0.0003860749999944346}, "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.0002488179999886597}}, {"call": {"outcome": "passed", "duration": 0.006803687999990871}, "setup": {"outcome": "passed", "duration": 0.00035746200001085526}, "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.00019064800000023752}}, {"call": {"outcome": "passed", "duration": 0.006301903999997194}, "setup": {"outcome": "passed", "duration": 0.00035186100001283194}, "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.00022131600002239793}}, {"call": {"outcome": "passed", "duration": 0.06592262099997015}, "setup": {"outcome": "passed", "duration": 0.00031757699997569944}, "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.0002387090000297576}}, {"call": {"outcome": "passed", "duration": 0.10283831200001714}, "setup": {"outcome": "passed", "duration": 0.00039272899999787114}, "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.00022856999999021355}}, {"call": {"outcome": "passed", "duration": 0.01399620600000162}, "setup": {"outcome": "passed", "duration": 0.00038848000002644767}, "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.00020483499997681065}}, {"call": {"outcome": "passed", "duration": 0.004806604000009429}, "setup": {"outcome": "passed", "duration": 0.00044991499999014195}, "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.00019513699999151868}}, {"call": {"outcome": "passed", "duration": 0.009524572000032094}, "setup": {"outcome": "passed", "duration": 0.0003586750000295069}, "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.00019572800005107638}}, {"call": {"outcome": "passed", "duration": 0.005903805999992073}, "setup": {"outcome": "passed", "duration": 0.0003856049999626521}, "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.00019606899996915672}}, {"call": {"outcome": "passed", "duration": 0.01882949000003009}, "setup": {"outcome": "passed", "duration": 0.000357221000001573}, "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.0002466739999817946}}, {"call": {"outcome": "passed", "duration": 0.01072357399999646}, "setup": {"outcome": "passed", "duration": 0.00033692299996346264}, "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.00022111599997742815}}, {"call": {"outcome": "passed", "duration": 0.014377953000007437}, "setup": {"outcome": "passed", "duration": 0.0003241090000187796}, "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.00020427399999789486}}, {"call": {"outcome": "passed", "duration": 0.00554508199996917}, "setup": {"outcome": "passed", "duration": 0.00033251500002506873}, "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.0001834339999504664}}, {"setup": {"outcome": "skipped", "duration": 0.000188565000030394, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_quality_control.py', 847, 'Skipped: Test requires the jsonschema module')"}, "lineno": 846, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_schema_validation", "outcome": "skipped", "keywords": ["test_schema_validation", "skipif", "pytestmark", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003082690000155708}}, {"call": {"outcome": "passed", "duration": 0.0009532820000117681}, "setup": {"outcome": "passed", "duration": 0.0006351130000439298}, "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.00019826299995884256}}, {"call": {"outcome": "passed", "duration": 0.000662404999957289}, "setup": {"outcome": "passed", "duration": 0.00041562100000192004}, "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.00019550799999024093}}, {"call": {"outcome": "passed", "duration": 0.0006333100000119884}, "setup": {"outcome": "passed", "duration": 0.00041393800000832925}, "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.00019365399998605426}}, {"call": {"outcome": "passed", "duration": 0.0006272990000297796}, "setup": {"outcome": "passed", "duration": 0.0004159320000098887}, "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.00019657899997582717}}, {"call": {"outcome": "passed", "duration": 0.020938833999991857}, "setup": {"outcome": "passed", "duration": 0.001324739999972735}, "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.00023212600001443207}}, {"call": {"outcome": "passed", "duration": 0.019269456000017726}, "setup": {"outcome": "passed", "duration": 0.0004195189999904869}, "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.0002396699999849261}}, {"call": {"outcome": "passed", "duration": 0.004476713999963522}, "setup": {"outcome": "passed", "duration": 0.0003959439999903225}, "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.0001846669999849837}}, {"call": {"outcome": "passed", "duration": 0.03613430399997242}, "setup": {"outcome": "passed", "duration": 0.00030984199997874384}, "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.00021771899997702349}}, {"call": {"outcome": "passed", "duration": 0.0005551229999696261}, "setup": {"outcome": "passed", "duration": 0.0003590150000150061}, "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.0001816409999833013}}, {"call": {"outcome": "passed", "duration": 0.001993766999987656}, "setup": {"outcome": "passed", "duration": 0.0002899950000028184}, "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.00017321499996114653}}, {"call": {"outcome": "passed", "duration": 0.0003966950000062752}, "setup": {"outcome": "passed", "duration": 0.00031837900002074093}, "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.00019623900004717143}}, {"call": {"outcome": "passed", "duration": 0.000504236999972818}, "setup": {"outcome": "passed", "duration": 0.00028684899996278546}, "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.00016951800000697403}}, {"call": {"outcome": "passed", "duration": 0.0029162310000288016}, "setup": {"outcome": "passed", "duration": 0.00029718799999045586}, "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.00018004899999368718}}, {"call": {"outcome": "passed", "duration": 0.022605656999985513}, "setup": {"outcome": "passed", "duration": 0.00029402299998082526}, "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.00020994499999460459}}, {"call": {"outcome": "passed", "duration": 0.0325402679999911}, "setup": {"outcome": "passed", "duration": 0.0003296300000101837}, "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.0001983430000223052}}, {"call": {"outcome": "passed", "duration": 1.221812215}, "setup": {"outcome": "passed", "duration": 0.000343576000034318}, "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.00023651400005064716}}, {"call": {"outcome": "passed", "duration": 0.011058483999988766}, "setup": {"outcome": "passed", "duration": 0.0003683019999698445}, "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.00033154300001569936}}, {"call": {"outcome": "passed", "duration": 0.06352430300000833}, "setup": {"outcome": "passed", "duration": 0.000471456000013859}, "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.00023760600004152366}}, {"call": {"outcome": "passed", "duration": 0.055372010999974464}, "setup": {"outcome": "passed", "duration": 0.0003743940000049406}, "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.00023693499997534673}}, {"call": {"outcome": "passed", "duration": 0.06590144000000464}, "setup": {"outcome": "passed", "duration": 0.0003722399999901427}, "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.0002540380000368714}}, {"call": {"outcome": "passed", "duration": 0.06600116800001388}, "setup": {"outcome": "passed", "duration": 0.00041341700000430137}, "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.00027481699999043485}}, {"call": {"outcome": "passed", "duration": 0.0008499170000391132}, "setup": {"outcome": "passed", "duration": 0.00041252500000155123}, "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.00019089900001745264}}, {"call": {"outcome": "passed", "duration": 0.006846607999989374}, "setup": {"outcome": "passed", "duration": 0.00032858700001270336}, "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.00019129000003204055}}, {"call": {"outcome": "passed", "duration": 0.0008910439999567643}, "setup": {"outcome": "passed", "duration": 0.00032784600000468345}, "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.00019043800000417832}}, {"call": {"outcome": "passed", "duration": 0.0012076300000103402}, "setup": {"outcome": "passed", "duration": 0.001335940999979357}, "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.0001912099999685779}}, {"call": {"outcome": "passed", "duration": 0.0007075399999507681}, "setup": {"outcome": "passed", "duration": 0.0003787420000094244}, "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.0001853990000313388}}, {"call": {"outcome": "passed", "duration": 0.018770699000015156}, "setup": {"outcome": "passed", "duration": 1.0780248799999868}, "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.0002757579999865811}}, {"call": {"outcome": "passed", "duration": 0.0048273429999881046}, "setup": {"outcome": "passed", "duration": 0.13722023299999364}, "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.0002933210000151121}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010820140000191714, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 254, in test_ppsd_w_iris\n    st = read(file_data_anmo)\n         ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041650299999673734}, "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.00020599700002321697}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008850130000155332, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 319, in test_ppsd_w_iris_against_obspy_results\n    st = read(testdata['IUANMO.seed'])\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038549499998907777}, "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.0001979920000394486}}, {"call": {"outcome": "passed", "duration": 0.015929610000000594}, "setup": {"outcome": "passed", "duration": 0.13578668900004232}, "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.000302158000010877}}, {"call": {"outcome": "passed", "duration": 2.3598296039999695}, "setup": {"outcome": "passed", "duration": 0.0005864020000103665}, "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.00034409700003834587}}, {"call": {"outcome": "passed", "duration": 0.8488965039999812}, "setup": {"outcome": "passed", "duration": 0.13785446700001103}, "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.0002867499999865686}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010164200000417623, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 509, in test_ppsd_infrasound\n    st = read(wf)\n         ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042111099998010104}, "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.00020212000003994035}}, {"call": {"outcome": "passed", "duration": 0.10574951500001362}, "setup": {"outcome": "passed", "duration": 0.000380085000017516}, "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.00022811899998487206}}, {"call": {"outcome": "passed", "duration": 0.0008359420000374485}, "setup": {"outcome": "passed", "duration": 0.0003715179999517204}, "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.00017965800003594268}}, {"call": {"outcome": "passed", "duration": 0.20326625699999568}, "setup": {"outcome": "passed", "duration": 0.0012342290000333378}, "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.0002979299999879004}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00099110200000041, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 691, in test_wrong_trace_id_message\n    inv = read_inventory(testdata['IUANMO.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0014279239999837046}, "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.0002304539999613553}}, {"call": {"outcome": "passed", "duration": 0.0005072829999903661}, "setup": {"outcome": "passed", "duration": 0.13385579100003042}, "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.00025164200002336656}}, {"call": {"outcome": "passed", "duration": 0.1453011829999582}, "setup": {"outcome": "passed", "duration": 0.0005469280000056642}, "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.00039991199997757576}}, {"call": {"outcome": "passed", "duration": 0.06999594699999534}, "setup": {"outcome": "passed", "duration": 0.0004033680000361528}, "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.00023567300002014235}}, {"call": {"outcome": "passed", "duration": 0.6646659639999939}, "setup": {"outcome": "passed", "duration": 0.0005805220000070221}, "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.0002868290000037632}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024394250000341344, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 790, in test_ppsd_uneven_sampling_rate\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040295700000569923}, "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.00019026799998300703}}, {"call": {"outcome": "passed", "duration": 0.01777011799998718}, "setup": {"outcome": "passed", "duration": 0.0003789219999816851}, "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.00019113900003731032}}, {"call": {"outcome": "passed", "duration": 0.0008273949999875185}, "setup": {"outcome": "passed", "duration": 0.0003485359999899629}, "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.00016887800001086362}}, {"call": {"outcome": "passed", "duration": 0.0355133159999923}, "setup": {"outcome": "passed", "duration": 0.13855530399996496}, "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.00031721599998491}}, {"call": {"outcome": "passed", "duration": 0.016157707999980175}, "setup": {"outcome": "passed", "duration": 0.13361509899999646}, "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.0002557499999511492}}, {"call": {"outcome": "passed", "duration": 0.0018279249999864078}, "setup": {"outcome": "passed", "duration": 0.001274936000015714}, "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.0004595240000071499}}, {"call": {"outcome": "passed", "duration": 0.11198866199998747}, "setup": {"outcome": "passed", "duration": 0.00039484299998093775}, "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.00021632700003237915}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022230680000348, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_stream.py\", line 137, in test_simulate\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003705259999833288}, "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.0001886040000158573}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020018929999991997, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_stream.py\", line 176, in test_decimate\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029897199999595614}, "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.00018928599996570483}}, {"call": {"outcome": "passed", "duration": 0.006003382999949736}, "setup": {"outcome": "passed", "duration": 0.0016884929999605447}, "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.0001887450000026547}}, {"call": {"outcome": "passed", "duration": 0.005892355000014504}, "setup": {"outcome": "passed", "duration": 0.0003736920000392274}, "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.00020254099996463992}}, {"call": {"outcome": "passed", "duration": 0.0047524720000069465}, "setup": {"outcome": "passed", "duration": 0.0003377859999886823}, "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.00022121599999991304}}, {"call": {"outcome": "passed", "duration": 0.6793215399999895}, "setup": {"outcome": "passed", "duration": 0.000999197999988155}, "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.00033912800000734933}}, {"call": {"outcome": "passed", "duration": 1.0268440450000185}, "setup": {"outcome": "passed", "duration": 0.000562416999969173}, "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.00032665400004816547}}, {"call": {"outcome": "passed", "duration": 1.0313794899999493}, "setup": {"outcome": "passed", "duration": 0.0005498730000113028}, "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.0005281420000073922}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002501270999971439, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_trace.py\", line 22, in test_simulate\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004922549999832881}, "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.00020795099999304512}}, {"call": {"outcome": "passed", "duration": 0.05761855299999752}, "setup": {"outcome": "passed", "duration": 0.00030439199997545074}, "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.00022980200003530626}}, {"call": {"outcome": "passed", "duration": 0.01063486800001101}, "setup": {"outcome": "passed", "duration": 0.0003559990000212565}, "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.00020789100000229155}}, {"call": {"outcome": "passed", "duration": 0.0005767740000237609}, "setup": {"outcome": "passed", "duration": 0.002705795999986549}, "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.00018195199999126999}}, {"call": {"outcome": "passed", "duration": 0.07793122099997163}, "setup": {"outcome": "passed", "duration": 0.0003528029999984028}, "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.00022924099999954706}}, {"call": {"outcome": "passed", "duration": 0.00037176900002577895}, "setup": {"outcome": "passed", "duration": 0.0003885200000013356}, "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.00017641099998400023}}, {"call": {"outcome": "passed", "duration": 0.12682045799999742}, "setup": {"outcome": "passed", "duration": 0.0011707599999795093}, "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.0002307739999878322}}, {"call": {"outcome": "passed", "duration": 0.12576347099997065}, "setup": {"outcome": "passed", "duration": 0.00043520799999896553}, "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.00025416699998004333}}, {"call": {"outcome": "passed", "duration": 0.0004028670000479906}, "setup": {"outcome": "passed", "duration": 0.00040072299998428207}, "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.0001804789999937384}}, {"call": {"outcome": "passed", "duration": 0.00030540400001655144}, "setup": {"outcome": "passed", "duration": 0.00032320700000809666}, "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.00017574999998259955}}, {"call": {"outcome": "passed", "duration": 0.00354349000002685}, "setup": {"outcome": "passed", "duration": 0.0003283169999690472}, "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.00020205000004125395}}, {"call": {"outcome": "passed", "duration": 0.0382126499999913}, "setup": {"outcome": "passed", "duration": 0.00036487599999190934}, "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.00024299699998664437}}, {"call": {"outcome": "passed", "duration": 0.039315031999990424}, "setup": {"outcome": "passed", "duration": 0.0004971550000050229}, "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.00024183499999708147}}, {"call": {"outcome": "passed", "duration": 0.004080900000019483}, "setup": {"outcome": "passed", "duration": 0.0005006310000226222}, "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.00022324899998693581}}, {"call": {"outcome": "passed", "duration": 0.000722887999984323}, "setup": {"outcome": "passed", "duration": 0.00043845400000463997}, "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.00024158499996929095}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015291039999851819, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_trigger.py\", line 235, in test_trigger_onset_issue_2891\n    tr = read(testdata['BW.UH1._.EHZ.D.2010.147.a.slist.gz'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004711459999953149}, "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.0002544479999642135}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019212610000067798, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_trigger.py\", line 249, in test_coincidence_trigger\n    st += read(testdata[filename])\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005037870000137445}, "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.00023361900002782932}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001762381999981244, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tests/test_trigger.py\", line 474, in test_coincidence_trigger_with_similarity_checking\n    st += read(testdata[filename])\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004809939999859125}, "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.0002605990000006386}}, {"call": {"outcome": "passed", "duration": 0.0019746919999761303}, "setup": {"outcome": "passed", "duration": 0.00044492600000012317}, "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.00027847399996971944}}, {"call": {"outcome": "passed", "duration": 0.0004732090000061362}, "setup": {"outcome": "passed", "duration": 0.000615977999984807}, "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.0002805569999964064}}, {"call": {"outcome": "passed", "duration": 0.00032918799996650705}, "setup": {"outcome": "passed", "duration": 0.00047168600002578387}, "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.0002171579999981077}}, {"call": {"outcome": "passed", "duration": 0.0003451089999657597}, "setup": {"outcome": "passed", "duration": 0.00045048599997699057}, "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.00019983499998943444}}, {"call": {"outcome": "passed", "duration": 0.0003191399999877831}, "setup": {"outcome": "passed", "duration": 0.0004348770000319746}, "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.00020135799996978676}}, {"call": {"outcome": "passed", "duration": 0.0003616899999769885}, "setup": {"outcome": "passed", "duration": 0.0003682720000028894}, "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.00020788100005120214}}, {"call": {"outcome": "passed", "duration": 0.0003569410000068274}, "setup": {"outcome": "passed", "duration": 0.00043816300001253694}, "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.00019882399999460176}}, {"call": {"outcome": "passed", "duration": 0.00032187499999736247}, "setup": {"outcome": "passed", "duration": 0.00043605900003740317}, "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.00019862299996020738}}, {"call": {"outcome": "passed", "duration": 0.00032266600004504653}, "setup": {"outcome": "passed", "duration": 0.0004561869999974988}, "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.00021766000003253794}}, {"call": {"outcome": "passed", "duration": 0.0003489359999662156}, "setup": {"outcome": "passed", "duration": 0.0004327429999761989}, "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.0001970399999891015}}, {"call": {"outcome": "passed", "duration": 0.00032341799999358045}, "setup": {"outcome": "passed", "duration": 0.00043355500002917324}, "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.00020156899995527056}}, {"call": {"outcome": "passed", "duration": 0.0006335610000292036}, "setup": {"outcome": "passed", "duration": 0.00046534500000916523}, "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.00020205900000291876}}, {"call": {"outcome": "passed", "duration": 0.0005650310000078207}, "setup": {"outcome": "passed", "duration": 0.00046300000002474917}, "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.0002065680000100656}}, {"call": {"outcome": "passed", "duration": 0.0005607139999597166}, "setup": {"outcome": "passed", "duration": 0.0004660050000211413}, "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.00020361299999649418}}, {"call": {"outcome": "passed", "duration": 0.0004779679999842301}, "setup": {"outcome": "passed", "duration": 0.00045776100000693987}, "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.00021882099997583282}}, {"call": {"outcome": "passed", "duration": 0.00047822900000937807}, "setup": {"outcome": "passed", "duration": 0.0004375820000177555}, "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.00019631899999694724}}, {"call": {"outcome": "passed", "duration": 0.000496502999965287}, "setup": {"outcome": "passed", "duration": 0.00043837399999802074}, "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.00022835899994788633}}, {"call": {"outcome": "passed", "duration": 0.0003637439999693015}, "setup": {"outcome": "passed", "duration": 0.000438965000000735}, "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.00020159799998964445}}, {"call": {"outcome": "passed", "duration": 0.0003268239999556499}, "setup": {"outcome": "passed", "duration": 0.0004651549999721283}, "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.00020215099999632002}}, {"call": {"outcome": "passed", "duration": 0.00033024099997192025}, "setup": {"outcome": "passed", "duration": 0.0004529509999997572}, "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.0002011889999948835}}, {"call": {"outcome": "passed", "duration": 0.0003550469999709094}, "setup": {"outcome": "passed", "duration": 0.0004360099999871636}, "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.00019917399998803376}}, {"call": {"outcome": "passed", "duration": 0.0003616889999875639}, "setup": {"outcome": "passed", "duration": 0.0003506489999836049}, "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.0001913799999897492}}, {"call": {"outcome": "passed", "duration": 0.00034139199999572156}, "setup": {"outcome": "passed", "duration": 0.000459643999988657}, "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.0001994650000369802}}, {"call": {"outcome": "passed", "duration": 0.0003538550000143914}, "setup": {"outcome": "passed", "duration": 0.0004346469999632063}, "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.00019931399998540655}}, {"call": {"outcome": "passed", "duration": 0.00033080200000767945}, "setup": {"outcome": "passed", "duration": 0.0004427229999919291}, "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.0002603089999979602}}, {"call": {"outcome": "passed", "duration": 0.00033445900004380746}, "setup": {"outcome": "passed", "duration": 0.00047617500001706503}, "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.0002074899999797708}}, {"call": {"outcome": "passed", "duration": 0.000333395999973618}, "setup": {"outcome": "passed", "duration": 0.00046482300001571275}, "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.00022080499996945946}}, {"call": {"outcome": "passed", "duration": 0.0002617520000285367}, "setup": {"outcome": "passed", "duration": 0.0005285329999651367}, "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.0002092539999694054}}, {"call": {"outcome": "passed", "duration": 0.0002676629999882607}, "setup": {"outcome": "passed", "duration": 0.0004381139999622974}, "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.00020205999999234336}}, {"call": {"outcome": "passed", "duration": 0.00025396699999191696}, "setup": {"outcome": "passed", "duration": 0.0004639619999693423}, "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.00022931099999823346}}, {"call": {"outcome": "passed", "duration": 0.0002578749999884167}, "setup": {"outcome": "passed", "duration": 0.0004380129999503879}, "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.00020786100003533647}}, {"call": {"outcome": "passed", "duration": 0.00024738500002285946}, "setup": {"outcome": "passed", "duration": 0.00043590900003209754}, "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.00020133800001076452}}, {"call": {"outcome": "passed", "duration": 0.00024587199999359655}, "setup": {"outcome": "passed", "duration": 0.0004625490000194077}, "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.00029324100000849285}}, {"call": {"outcome": "passed", "duration": 0.003564799999992374}, "setup": {"outcome": "passed", "duration": 0.0003590950000216253}, "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.0002007280000384526}}, {"call": {"outcome": "passed", "duration": 0.0034185559999855286}, "setup": {"outcome": "passed", "duration": 0.00032302700003583595}, "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.0001819920000230013}}, {"call": {"outcome": "failed", "duration": 0.947923951000007, "longrepr": "1429         make demeaning/tapering necessary to avoid artifacts)\n1430 \n1431     :return: If show is False, returns a matplotlib.pyplot.figure object\n1432         (single component data) or a list of figure objects (multi component\n1433         data)\n1434 \n1435     .. rubric:: Example\n1436 \n1437     >>> from obspy import read\n1438     >>> tr = read(\"https://examples.obspy.org/a02i.2008.240.mseed\")[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/doctest.py\", line 1355, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.tf_misfit.plot_tfr[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 751, in _generic_reader\n    generic = callback_func(fh.name, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/tf_misfit.py:1438: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003277960000218627}, "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.00024389800000790274}}, {"call": {"outcome": "passed", "duration": 0.010299378000013348}, "setup": {"outcome": "passed", "duration": 0.00047583400004214127}, "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.00019330399999262227}}, {"call": {"outcome": "passed", "duration": 0.0027710479999996096}, "setup": {"outcome": "passed", "duration": 0.00034800399998857756}, "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.00017592100005003886}}, {"call": {"outcome": "passed", "duration": 0.0025437609999698907}, "setup": {"outcome": "passed", "duration": 0.00031459199999517296}, "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.0001763709999522689}}, {"call": {"outcome": "passed", "duration": 0.002614182999991499}, "setup": {"outcome": "passed", "duration": 0.00030734799997844675}, "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.00017683200002238664}}, {"call": {"outcome": "passed", "duration": 0.0025674249999951826}, "setup": {"outcome": "passed", "duration": 0.0003283969999756664}, "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.0002846049999902789}}, {"call": {"outcome": "passed", "duration": 3.847765691999996}, "setup": {"outcome": "passed", "duration": 0.0006275189999769282}, "lineno": 1, "nodeid": "taup/__init__.py::obspy.taup", "outcome": "passed", "keywords": ["obspy.taup", "filterwarnings", "__init__.py", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023567300002014235}}, {"call": {"outcome": "passed", "duration": 0.8310233820000121}, "setup": {"outcome": "passed", "duration": 0.0005333220000238725}, "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.00023549200000161363}}, {"call": {"outcome": "passed", "duration": 0.5711631159999797}, "setup": {"outcome": "passed", "duration": 0.0004284350000034465}, "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.00025023999995710255}}, {"call": {"outcome": "passed", "duration": 0.03989855899999384}, "setup": {"outcome": "passed", "duration": 0.00039411099999142607}, "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.00028829100000393737}}, {"call": {"outcome": "passed", "duration": 0.0006497109999941131}, "setup": {"outcome": "passed", "duration": 0.0007283090000100856}, "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.00018042900001091766}}, {"setup": {"outcome": "skipped", "duration": 0.0002615820000073654, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/taup/tests/test_ray_paths.py', 15, 'Skipped: test needs geographiclib >= 1.34')"}, "lineno": 14, "nodeid": "taup/tests/test_ray_paths.py::TestRayPathCalculations::test_compute_ray_paths", "outcome": "skipped", "keywords": ["test_compute_ray_paths", "skipif", "pytestmark", "filterwarnings", "TestRayPathCalculations", "test_ray_paths.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017219400001522445}}, {"call": {"outcome": "passed", "duration": 0.062287098000012975}, "setup": {"outcome": "passed", "duration": 0.0003181480000193915}, "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.00025778400004128343}}, {"call": {"outcome": "passed", "duration": 3.8140159440000048}, "setup": {"outcome": "passed", "duration": 0.026936666999972658}, "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.00023416000004772286}}, {"call": {"outcome": "passed", "duration": 0.37252737699998306}, "setup": {"outcome": "passed", "duration": 0.0003753350000010869}, "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.00023990199997570016}}, {"call": {"outcome": "passed", "duration": 1.6507902609999974}, "setup": {"outcome": "passed", "duration": 0.0008247800000162897}, "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.0002528950000169061}}, {"call": {"outcome": "passed", "duration": 0.05545928700001923}, "setup": {"outcome": "passed", "duration": 0.0003892020000080265}, "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.0002538069999786785}}, {"call": {"outcome": "passed", "duration": 0.0014310999999906926}, "setup": {"outcome": "passed", "duration": 0.00040072299998428207}, "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.0003024380000056226}}, {"call": {"outcome": "passed", "duration": 0.0002939930000138702}, "setup": {"outcome": "passed", "duration": 0.00047316899997440487}, "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.0001830440000389899}}, {"call": {"outcome": "passed", "duration": 0.000472358000024542}, "setup": {"outcome": "passed", "duration": 0.00029782000001432607}, "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.00018222199997808275}}, {"call": {"outcome": "passed", "duration": 0.04261673899998186}, "setup": {"outcome": "passed", "duration": 0.00041078199996036346}, "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.0002514430000246648}}, {"call": {"outcome": "passed", "duration": 0.026366305999999895}, "setup": {"outcome": "passed", "duration": 0.0005093869999654999}, "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.00024819600002956577}}, {"setup": {"outcome": "skipped", "duration": 0.00020024600001988802, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/taup/tests/test_tau.py', 129, 'Skipped: Module geographiclib is not installed')"}, "lineno": 128, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_p_iasp91_geo_manual", "outcome": "skipped", "keywords": ["test_p_iasp91_geo_manual", "skipif", "pytestmark", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001850879999665267}}, {"call": {"outcome": "passed", "duration": 0.026307095000049685}, "setup": {"outcome": "passed", "duration": 0.0003655269999853772}, "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.00023457999998299783}}, {"call": {"outcome": "passed", "duration": 0.07762536899997485}, "setup": {"outcome": "passed", "duration": 0.0008410410000010415}, "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.00029218899999250425}}, {"call": {"outcome": "passed", "duration": 0.07829708200000596}, "setup": {"outcome": "passed", "duration": 0.0005012729999975818}, "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.0002766599999972641}}, {"call": {"outcome": "passed", "duration": 0.07400723900002504}, "setup": {"outcome": "passed", "duration": 0.0005042980000098396}, "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.00026939599996467223}}, {"call": {"outcome": "passed", "duration": 0.07440177099999801}, "setup": {"outcome": "passed", "duration": 0.0004952510000180155}, "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.00029880200003162827}}, {"call": {"outcome": "passed", "duration": 0.07009390399997528}, "setup": {"outcome": "passed", "duration": 0.0005092769999919255}, "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.0002635860000168577}}, {"call": {"outcome": "passed", "duration": 0.6797284200000036}, "setup": {"outcome": "passed", "duration": 0.0004901119999658476}, "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.00027023699999517703}}, {"call": {"outcome": "passed", "duration": 0.6874980540000024}, "setup": {"outcome": "passed", "duration": 0.00049503099995718}, "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.0002695270000003802}}, {"call": {"outcome": "passed", "duration": 0.030708277000030648}, "setup": {"outcome": "passed", "duration": 0.000395915000012792}, "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.00020342300001630065}}, {"setup": {"outcome": "skipped", "duration": 0.00018928600002254825, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/taup/tests/test_tau.py', 306, 'Skipped: test needs geographiclib >= 1.34')"}, "lineno": 305, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_pierce_p_iasp91_geo", "outcome": "skipped", "keywords": ["test_pierce_p_iasp91_geo", "skipif", "pytestmark", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020223000001351465}}, {"call": {"outcome": "passed", "duration": 0.030601857000021937}, "setup": {"outcome": "passed", "duration": 0.00035503699996297655}, "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.00022841999998490792}}, {"call": {"outcome": "passed", "duration": 1.7342256700000007}, "setup": {"outcome": "passed", "duration": 0.0003668389999802457}, "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.00022624500002166315}}, {"call": {"outcome": "passed", "duration": 0.4190491649999899}, "setup": {"outcome": "passed", "duration": 0.0003978579999852627}, "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.00023978999996643324}}, {"call": {"outcome": "passed", "duration": 0.08770149800000127}, "setup": {"outcome": "passed", "duration": 0.00039034399998172375}, "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.00022962200000620214}}, {"call": {"outcome": "passed", "duration": 0.034613466999985576}, "setup": {"outcome": "passed", "duration": 0.0003960839999876953}, "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.00020683899998630295}}, {"setup": {"outcome": "skipped", "duration": 0.00018863399998281238, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/taup/tests/test_tau.py', 548, 'Skipped: test needs geographiclib >= 1.34')"}, "lineno": 547, "nodeid": "taup/tests/test_tau.py::TestTauPyModel::test_single_path_geo_iasp91", "outcome": "skipped", "keywords": ["test_single_path_geo_iasp91", "skipif", "pytestmark", "filterwarnings", "TestTauPyModel", "test_tau.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020131799999489886}}, {"call": {"outcome": "passed", "duration": 0.03455968600002279}, "setup": {"outcome": "passed", "duration": 0.00035141099999691505}, "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.00024004100004049178}}, {"call": {"outcome": "passed", "duration": 0.03470391700000164}, "setup": {"outcome": "passed", "duration": 0.00038373099999944316}, "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.00024064299998372007}}, {"call": {"outcome": "passed", "duration": 0.9493551360000083}, "setup": {"outcome": "passed", "duration": 0.0004025869999964016}, "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.00025628199995253453}}, {"call": {"outcome": "passed", "duration": 0.899142095000002}, "setup": {"outcome": "passed", "duration": 0.0003947520000338045}, "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.00024053200002072117}}, {"call": {"outcome": "passed", "duration": 0.4844654240000068}, "setup": {"outcome": "passed", "duration": 0.00040515099999538506}, "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.00025663200000280995}}, {"call": {"outcome": "passed", "duration": 0.5014638929999933}, "setup": {"outcome": "passed", "duration": 0.00040240700002414087}, "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.0002555500000198663}}, {"call": {"outcome": "passed", "duration": 0.8084065989999658}, "setup": {"outcome": "passed", "duration": 0.00041572200001382953}, "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.00024685400001089874}}, {"call": {"outcome": "passed", "duration": 0.9410750320000147}, "setup": {"outcome": "passed", "duration": 0.00048697599999059094}, "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.0002550699999801509}}, {"call": {"outcome": "passed", "duration": 0.38785938100005524}, "setup": {"outcome": "passed", "duration": 0.0004056220000165922}, "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.0002920989999779522}}, {"call": {"outcome": "passed", "duration": 0.4548958769999558}, "setup": {"outcome": "passed", "duration": 0.00040306799996869813}, "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.00025272499999573483}}, {"call": {"outcome": "passed", "duration": 0.16312521700001525}, "setup": {"outcome": "passed", "duration": 0.00041727400002855575}, "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.00022828900000604335}}, {"call": {"outcome": "passed", "duration": 0.8956733379999946}, "setup": {"outcome": "passed", "duration": 0.00040320800002291435}, "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.00025807499997654304}}, {"call": {"outcome": "passed", "duration": 0.0613168959999939}, "setup": {"outcome": "passed", "duration": 0.00043451699997376636}, "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.0002279289999478351}}, {"call": {"outcome": "passed", "duration": 0.04898667200001228}, "setup": {"outcome": "passed", "duration": 0.00041602199996759737}, "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.00021637700001519988}}, {"call": {"outcome": "passed", "duration": 0.32628005999998777}, "setup": {"outcome": "passed", "duration": 0.0003513999999995576}, "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.00023858900004825045}}, {"call": {"outcome": "passed", "duration": 0.027562745000011546}, "setup": {"outcome": "passed", "duration": 0.00037197900002183815}, "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.00019669900001417773}}, {"call": {"outcome": "passed", "duration": 0.027153195000039432}, "setup": {"outcome": "passed", "duration": 0.0003398590000074364}, "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.00019710100002612307}}, {"call": {"outcome": "passed", "duration": 3.9881306960000416}, "setup": {"outcome": "passed", "duration": 0.0007324069999867788}, "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.0002395610000007764}}, {"call": {"outcome": "passed", "duration": 0.9022424000000342}, "setup": {"outcome": "passed", "duration": 0.00043784299998606}, "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.00026371599994945427}}, {"call": {"outcome": "passed", "duration": 1.0373580730000072}, "setup": {"outcome": "passed", "duration": 0.00042540999999118867}, "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.00039484200004835657}}, {"setup": {"outcome": "skipped", "duration": 0.0002712799999926574, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/taup/tests/test_taup_geo.py', 22, 'Skipped: Module geographiclib is not installed or too old.')"}, "lineno": 21, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeo::test_path_geo", "outcome": "skipped", "keywords": ["test_path_geo", "skipif", "pytestmark", "filterwarnings", "TestTaupGeo", "test_taup_geo.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018355600002450956}}, {"setup": {"outcome": "skipped", "duration": 0.00016874699997515563, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/taup/tests/test_taup_geo.py', 37, 'Skipped: Module geographiclib is not installed or too old.')"}, "lineno": 36, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeo::test_path_resampling", "outcome": "skipped", "keywords": ["test_path_resampling", "skipif", "pytestmark", "filterwarnings", "TestTaupGeo", "test_taup_geo.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017748400000527909}}, {"call": {"outcome": "passed", "duration": 0.0003531140000063715}, "setup": {"outcome": "passed", "duration": 0.00034674199997652977}, "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.00017557999996142826}}, {"call": {"outcome": "passed", "duration": 0.00027832300003183263}, "setup": {"outcome": "passed", "duration": 0.00031530299997939437}, "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.000193353999975443}}, {"call": {"outcome": "passed", "duration": 0.00030696699997179167}, "setup": {"outcome": "passed", "duration": 0.000290406000033272}, "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.00017512000005126538}}, {"call": {"outcome": "passed", "duration": 0.0002788350000173523}, "setup": {"outcome": "passed", "duration": 0.0003272950000337005}, "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.0001741770000194265}}, {"call": {"outcome": "passed", "duration": 0.0006664020000357596}, "setup": {"outcome": "passed", "duration": 0.00028753999998798463}, "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.00017935700003590682}}, {"call": {"outcome": "passed", "duration": 1.2718741420000015}, "setup": {"outcome": "passed", "duration": 0.012278929000046901}, "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.00048053300002948163}}, {"call": {"outcome": "passed", "duration": 1.0828257009999902}, "setup": {"outcome": "passed", "duration": 0.0005571269999791184}, "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.00034782299997004884}}, {"call": {"outcome": "passed", "duration": 1.0596009680000407}, "setup": {"outcome": "passed", "duration": 0.0005744690000142327}, "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.0003924979999965217}}, {"call": {"outcome": "passed", "duration": 0.30880093600001146}, "setup": {"outcome": "passed", "duration": 0.0005575879999923927}, "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.00033878699997558215}}, {"call": {"outcome": "passed", "duration": 0.20920886099997915}, "setup": {"outcome": "passed", "duration": 0.0005549530000052982}, "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.00033291599999074606}}, {"call": {"outcome": "passed", "duration": 0.7100471640000023}, "setup": {"outcome": "passed", "duration": 0.0005520679999904132}, "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.0003632420000485581}}, {"call": {"outcome": "passed", "duration": 0.6106942589999562}, "setup": {"outcome": "passed", "duration": 0.0005614959999888924}, "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.0003328160000251046}}, {"call": {"outcome": "passed", "duration": 0.6873196859999666}, "setup": {"outcome": "passed", "duration": 0.0005828949999795441}, "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.00035693000000946995}}, {"call": {"outcome": "passed", "duration": 0.6898578259999795}, "setup": {"outcome": "passed", "duration": 0.0005723259999967922}, "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.0003208729999641946}}, {"call": {"outcome": "passed", "duration": 0.415889261000018}, "setup": {"outcome": "passed", "duration": 0.000579759999993712}, "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.00035130000003391615}}, {"call": {"outcome": "passed", "duration": 0.4727792719999684}, "setup": {"outcome": "passed", "duration": 0.000580400999979247}, "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.0003160140000204592}}, {"call": {"outcome": "passed", "duration": 0.28874339599997256}, "setup": {"outcome": "passed", "duration": 0.0005724259999624337}, "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.0003315639999641462}}, {"call": {"outcome": "passed", "duration": 0.2940597990000242}, "setup": {"outcome": "passed", "duration": 0.0005753710000249157}, "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.0003243890000135252}}, {"call": {"outcome": "passed", "duration": 0.07700982899996234}, "setup": {"outcome": "passed", "duration": 0.00040049300002920063}, "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.0002553599999828293}}, {"call": {"outcome": "passed", "duration": 0.04053567099998645}, "setup": {"outcome": "passed", "duration": 0.00037982300000294344}, "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.0003001150000159214}}, {"call": {"outcome": "passed", "duration": 0.005906461999984458}, "setup": {"outcome": "passed", "duration": 0.0009384439999848837}, "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.104744461999985}}], "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": 1772629833.2100606, "summary": {"error": 13, "total": 2327, "failed": 605, "passed": 1667, "skipped": 42, "collected": 2443, "deselected": 116}, "duration": 132.08161330223083, "exitcode": 1, "warnings": [{"when": "collect", "lineno": 15, "message": "`scipy.odr` is deprecated as of version 1.17.0 and will be removed in SciPy 1.19.0. Please use `https://pypi.org/project/odrpack/` instead.", "category": "DeprecationWarning", "filename": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/signal/polarization.py"}, {"when": "runtest", "lineno": 395, "message": "Attempting to set identical low and high ylims makes transformation singular; automatically expanding.", "category": "UserWarning", "filename": "/home/runner/miniconda3/envs/test/lib/python3.11/site-packages/obspy/imaging/scripts/scan.py"}], "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": "---", "pytest": "9.0.2", "cartopy": "---", "requests": "2.32.5", "decorator": "5.2.1", "shapefile": "---", "matplotlib": "3.10.8", "setuptools": "82.0.0", "sqlalchemy": "1.4.54", "geographiclib": "---", "pytest-json-report": "1.5.0"}, "platform_info": {"node": "gh-actions", "system": "Linux", "machine": "x86_64", "release": "6.14.0-1017-azure", "version": "#17~24.04.1-Ubuntu SMP Mon Dec  1 20:10:50 UTC 2025", "processor": "x86_64", "architecture": "64bit", "python_version": "3.11.14", "python_compiler": "GCC 14.3.0", "python_implementation": "CPython"}, "runtest_flags": "--cov obspy --cov-report=xml:/home/runner/work/obspy/obspy/coverage.xml --cov-append --report --keep-images"}