Files
slic/ci-reports/markdown/json-tree-view.html
T

2309 lines
248 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
.r1 {color: #c0c0c0; text-decoration-color: #c0c0c0; background-color: #000080; font-weight: bold}
.r3 {color: #800080; text-decoration-color: #800080; font-weight: bold}
.r4 {color: #808000; text-decoration-color: #808000}
.r5 {color: #008000; text-decoration-color: #008000}
body {
color: #000000;
background-color: #ffffff;
}
</style>
</head>
<body>
<pre style="font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace"><code style="font-family:inherit"><span class="r1">📁 ci-reports/markdown/pytest-report.json</span>
<span class="r2">├── </span><span class="r3">created</span>: <span class="r4">1752665307.6458447</span>
<span class="r2">├── </span><span class="r3">duration</span>: <span class="r4">0.75913405418396</span>
<span class="r2">├── </span><span class="r3">exitcode</span>: <span class="r4">2</span>
<span class="r2">├── </span><span class="r3">root</span>: <span class="r5">&quot;/workspace/tligui_y/slic&quot;</span>
<span class="r2">├── </span><span class="r3">environment</span>
<span class="r2">├── </span><span class="r3">summary</span>
<span class="r2">│ ├── </span><span class="r3">passed</span>: <span class="r4">16</span>
<span class="r2">│ ├── </span><span class="r3">failed</span>: <span class="r4">31</span>
<span class="r2">│ ├── </span><span class="r3">xfailed</span>: <span class="r4">2</span>
<span class="r2">│ ├── </span><span class="r3">total</span>: <span class="r4">49</span>
<span class="r2">│ └── </span><span class="r3">collected</span>: <span class="r4">49</span>
<span class="r2">├── </span><span class="r3">collectors</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;.&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Dir&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/data&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/export&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/history&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/plugin/behaviors&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/plugin/packages&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/plugin/screen-diff&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/plugin&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/plugin/behaviors&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Dir&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/plugin/packages&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Dir&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/plugin/screen-diff&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Dir&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/widgets&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/data&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Dir&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/export&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Dir&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/history&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Dir&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/plugin&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Dir&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure/widgets&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Dir&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/coverage&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/markdown&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/allure&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Dir&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/coverage&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Dir&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports/markdown&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Dir&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;functions&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_broken_fct.py&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">result</span>
<span class="r2">│ │ └── </span><span class="r3">longrepr</span>:
<span class="r2">│ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/site-packages/_pytest/python.py:49</span>
<span class="r2">│ │ </span><span class="r5">3: in importtestmodule</span>
<span class="r2">│ │ </span><span class="r5"> mod = import_path(</span>
<span class="r2">│ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/site-packages/_pytest/pathlib.py:58</span>
<span class="r2">│ │ </span><span class="r5">7: in import_path</span>
<span class="r2">│ │ </span><span class="r5"> importlib.import_module(module_name)</span>
<span class="r2">│ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in </span>
<span class="r2">│ │ </span><span class="r5">import_module</span>
<span class="r2">│ │ </span><span class="r5"> return _bootstrap._gcd_import(name, package, level)</span>
<span class="r2">│ │ </span><span class="r5">&lt;frozen importlib._bootstrap&gt;:1014: in _gcd_import</span>
<span class="r2">│ │ </span><span class="r5"> ???</span>
<span class="r2">│ │ </span><span class="r5">&lt;frozen importlib._bootstrap&gt;:991: in _find_and_load</span>
<span class="r2">│ │ </span><span class="r5"> ???</span>
<span class="r2">│ │ </span><span class="r5">&lt;frozen importlib._bootstrap&gt;:975: in _find_and_load_unlocked</span>
<span class="r2">│ │ </span><span class="r5"> ???</span>
<span class="r2">│ │ </span><span class="r5">&lt;frozen importlib._bootstrap&gt;:671: in _load_unlocked</span>
<span class="r2">│ │ </span><span class="r5"> ???</span>
<span class="r2">│ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rew</span>
<span class="r2">│ │ </span><span class="r5">rite.py:175: in exec_module</span>
<span class="r2">│ │ </span><span class="r5"> source_stat, co = _rewrite_test(fn, self.config)</span>
<span class="r2">│ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rew</span>
<span class="r2">│ │ </span><span class="r5">rite.py:355: in _rewrite_test</span>
<span class="r2">│ │ </span><span class="r5"> tree = ast.parse(source, filename=strfn)</span>
<span class="r2">│ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/ast.py:47: in parse</span>
<span class="r2">│ │ </span><span class="r5"> return compile(source, filename, mode, flags,</span>
<span class="r2">│ │ </span><span class="r5">E File &quot;/workspace/tligui_y/slic/tests/test_broken_fct.py&quot;, line</span>
<span class="r2">│ │ </span><span class="r5">8</span>
<span class="r2">│ │ </span><span class="r5">E def test_valid_2():</span>
<span class="r2">│ │ </span><span class="r5">E ^</span>
<span class="r2">│ │ </span><span class="r5">E SyntaxError: invalid syntax&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_collector_error.py&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">result</span>
<span class="r2">│ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;ImportError while importing test module </span>
<span class="r2">│ │ </span><span class="r5">&#x27;/workspace/tligui_y/slic/tests/test_collector_error.py&#x27;.</span>
<span class="r2">│ │ </span><span class="r5">Hint: make sure your test modules/packages have valid Python names.</span>
<span class="r2">│ │ </span><span class="r5">Traceback:</span>
<span class="r2">│ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in </span>
<span class="r2">│ │ </span><span class="r5">import_module</span>
<span class="r2">│ │ </span><span class="r5"> return _bootstrap._gcd_import(name, package, level)</span>
<span class="r2">│ │ </span><span class="r5">tests/test_collector_error.py:1: in &lt;module&gt;</span>
<span class="r2">│ │ </span><span class="r5"> from no_existing_module.math_utils import *</span>
<span class="r2">│ │ </span><span class="r5">E ModuleNotFoundError: No module named &#x27;no_existing_module&#x27;&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_read_file&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">9</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_write_file&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">16</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_cause_io_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">22</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_file_not_found&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">26</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_permission_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">30</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_mock_open_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">37</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_io_utils.py::test_file_handle_closed_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">45</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_os_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">51</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_write_file_readonly&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">58</span>
<span class="r2">│ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_file_not_found_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">lineno</span>: <span class="r4">66</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_broken&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">13</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_math_utils.py::test_call_missing_function&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">17</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_math_utils.py::test_addition_pass[2-2-4]&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">22</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_math_utils.py::test_addition_pass[1-5-6]&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">22</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_math_utils.py::test_addition_pass[3-4-7]&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">22</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_math_utils.py::test_addition_pass[3-5-8]&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">22</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_math_utils.py::test_addition_pass[3-6-9]&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">22</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_addition_pass_id&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">36</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_addition_pass_id&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">36</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_addition_pass_id&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">36</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_addition_fail&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">48</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_division_zero&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">52</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_multiply_xfail&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">56</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_runtime_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">61</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_memory_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">65</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_timeout_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">69</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_recursion_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">73</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_math_utils.py::test_floating_point_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">79</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_math_utils.py::test_floating_point_overflow&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">83</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_value_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">87</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_math_utils.py::test_wrong_argument_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">91</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_unhandled_exception&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">95</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_custom_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">99</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_math_utils.py::test_stop_iteration_direct&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">103</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_math_utils.py::test_generator_exit_direct&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">107</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_malformed_code&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">111</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_sys_exit&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">115</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_broken_function&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">119</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_import_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">125</span>
<span class="r2">│ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ </span><span class="r5">&quot;tests/test_math_utils.py::test_module_not_found_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">lineno</span>: <span class="r4">128</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_string_utils.py&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_string_utils.py::test_uppercase_normal&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">7</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_string_utils.py::test_uppercase_type_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">11</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_string_utils.py::test_reverse_string&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">15</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_string_utils.py::test_warning_emit&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">19</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_string_utils.py::test_unicode_decode_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">23</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_string_utils.py::test_unicode_decode_surrogatees</span>
<span class="r2">│ │ │ │ </span><span class="r5">cape&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">27</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_string_utils.py::test_import_warning&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">31</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ │ </span><span class="r5">&quot;tests/test_string_utils.py::test_xfail_uppercase_digits&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">lineno</span>: <span class="r4">35</span>
<span class="r2">│ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ </span><span class="r5">&quot;tests/test_string_utils.py::test_keyboard_interrupt_direct&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">type</span>: <span class="r5">&quot;Function&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">lineno</span>: <span class="r4">40</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">result</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_broken_fct.py&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Module&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_collector_error.py&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Module&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Module&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Module&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_string_utils.py&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Module&quot;</span>
<span class="r2">│ └── </span><span class="r3">-</span>
<span class="r2">│ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;.&quot;</span>
<span class="r2">│ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ └── </span><span class="r3">result</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;ci-reports&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Dir&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;functions&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">type</span>: <span class="r5">&quot;Package&quot;</span>
<span class="r2">│ └── </span><span class="r3">-</span>
<span class="r2">│ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests&quot;</span>
<span class="r2">│ └── </span><span class="r3">type</span>: <span class="r5">&quot;Dir&quot;</span>
<span class="r2">├── </span><span class="r3">tests</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_read_file&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">9</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_read_file&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_io_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.003519034944474697</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0004578919615596533</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00027404294814914465</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_write_file&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">16</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_write_file&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_io_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0004969410365447402</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0002863170811906457</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00014169898349791765</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_cause_io_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">22</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_cause_io_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_io_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011287699453532696</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00015965593047440052</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/functions/io_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">10</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;OSError: Forced IO Error for testing&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">25</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;&quot;</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;functions/io_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">10</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;OSError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_cause_io_error():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Raises manual IOError to simulate IO failure</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; cause_io_error()</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_io_utils.py:25: </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5"> def cause_io_error():</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise IOError(&quot;Forced IO Error for testing&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E OSError: Forced IO Error for testing</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">functions/io_utils.py:10: OSError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00014494697097688913</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_file_not_found&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">26</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_file_not_found&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_io_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00012540107127279043</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00018100510351359844</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/functions/io_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">2</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;FileNotFoundError: [Errno 2] No such file or </span>
<span class="r2">│ │ │ │ </span><span class="r5">directory: &#x27;nonexistent.file&#x27;&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">29</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;&quot;</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;functions/io_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">2</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;FileNotFoundError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_file_not_found():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Reading non-existing file raises FileNotFoundError</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; read_file(&quot;nonexistent.file&quot;)</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_io_utils.py:29: </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">path = &#x27;nonexistent.file&#x27;</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5"> def read_file(path):</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; with open(path, &quot;r&quot;, encoding=&quot;utf-8&quot;) as f:</span>
<span class="r2">│ │ │ </span><span class="r5">E FileNotFoundError: [Errno 2] No such file or directory: </span>
<span class="r2">│ │ │ </span><span class="r5">&#x27;nonexistent.file&#x27;</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">functions/io_utils.py:2: FileNotFoundError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.000137386959977448</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_permission_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">30</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_permission_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_io_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0002257989253848791</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00018001499120146036</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">34</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;PermissionError: Permission denied&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">36</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;functions/io_utils.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">2</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in read_file&quot;</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">34</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;PermissionError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;monkeypatch = &lt;_pytest.monkeypatch.MonkeyPatch object</span>
<span class="r2">│ │ │ </span><span class="r5">at 0x7f0db85d3460&gt;</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5"> def test_permission_error(monkeypatch):</span>
<span class="r2">│ │ │ </span><span class="r5"> # Patch open to raise PermissionError simulating access </span>
<span class="r2">│ │ │ </span><span class="r5">denial</span>
<span class="r2">│ │ │ </span><span class="r5"> def raise_perm_error(*args, **kwargs):</span>
<span class="r2">│ │ │ </span><span class="r5"> raise PermissionError(&quot;Permission denied&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5"> monkeypatch.setattr(&quot;builtins.open&quot;, raise_perm_error)</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; read_file(&quot;anyfile.txt&quot;)</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_io_utils.py:36: </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">functions/io_utils.py:2: in read_file</span>
<span class="r2">│ │ │ </span><span class="r5"> with open(path, &quot;r&quot;, encoding=&quot;utf-8&quot;) as f:</span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">args = (&#x27;anyfile.txt&#x27;, &#x27;r&#x27;), kwargs = {&#x27;encoding&#x27;: &#x27;utf-8&#x27;}</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5"> def raise_perm_error(*args, **kwargs):</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise PermissionError(&quot;Permission denied&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E PermissionError: Permission denied</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_io_utils.py:34: PermissionError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00017847190611064434</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_mock_open_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">37</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_mock_open_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_io_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0002220420865342021</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.003379918052814901</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ </span><span class="r5">&quot;/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/u</span>
<span class="r2">│ │ │ │ │ </span><span class="r5">nittest/mock.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">1140</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;OSError: Mocked IOError&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">43</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/unittest/mock.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">1081</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in __call__&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/unittest/mock.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">1085</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in _mock_call&quot;</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/unittest/mock.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">1140</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;OSError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;monkeypatch = &lt;_pytest.monkeypatch.MonkeyPatch object</span>
<span class="r2">│ │ │ </span><span class="r5">at 0x7f0db7c0b8e0&gt;</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5"> def test_mock_open_error(monkeypatch):</span>
<span class="r2">│ │ │ </span><span class="r5"> # Mock open() to raise IOError simulating read error</span>
<span class="r2">│ │ │ </span><span class="r5"> mocked_open = mock.mock_open()</span>
<span class="r2">│ │ │ </span><span class="r5"> mocked_open.side_effect = IOError(&quot;Mocked IOError&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5"> monkeypatch.setattr(&quot;builtins.open&quot;, mocked_open)</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; with open(&quot;file.txt&quot;, &quot;r&quot;) as f:</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_io_utils.py:43: </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/unittest/mock.py:1081: in </span>
<span class="r2">│ │ │ </span><span class="r5">__call__</span>
<span class="r2">│ │ │ </span><span class="r5"> return self._mock_call(*args, **kwargs)</span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/unittest/mock.py:1085: in </span>
<span class="r2">│ │ │ </span><span class="r5">_mock_call</span>
<span class="r2">│ │ │ </span><span class="r5"> return self._execute_mock_call(*args, **kwargs)</span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">self = &lt;MagicMock name=&#x27;open&#x27; spec=&#x27;builtin_function_or_method&#x27; </span>
<span class="r2">│ │ │ </span><span class="r5">id=&#x27;139696894164800&#x27;&gt;</span>
<span class="r2">│ │ │ </span><span class="r5">args = (&#x27;file.txt&#x27;, &#x27;r&#x27;), kwargs = {}, effect = OSError(&#x27;Mocked </span>
<span class="r2">│ │ │ </span><span class="r5">IOError&#x27;)</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5"> def _execute_mock_call(self, /, *args, **kwargs):</span>
<span class="r2">│ │ │ </span><span class="r5"> # separate from _increment_mock_call so that awaited </span>
<span class="r2">│ │ │ </span><span class="r5">functions are</span>
<span class="r2">│ │ │ </span><span class="r5"> # executed separately from their call, also AsyncMock </span>
<span class="r2">│ │ │ </span><span class="r5">overrides this method</span>
<span class="r2">│ │ │ </span><span class="r5"> </span>
<span class="r2">│ │ │ </span><span class="r5"> effect = self.side_effect</span>
<span class="r2">│ │ │ </span><span class="r5"> if effect is not None:</span>
<span class="r2">│ │ │ </span><span class="r5"> if _is_exception(effect):</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise effect</span>
<span class="r2">│ │ │ </span><span class="r5">E OSError: Mocked IOError</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/unittest/mock.py:1140: OSError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0003183989319950342</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_file_handle_closed_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">45</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_file_handle_closed_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_io_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00014771195128560066</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00021521199960261583</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">50</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;ValueError: I/O operation on closed file&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">50</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;ValueError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_file_handle_closed_error():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Accessing closed file raises ValueError</span>
<span class="r2">│ │ │ </span><span class="r5"> f = io.StringIO(&quot;content&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5"> f.close()</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; f.read()</span>
<span class="r2">│ │ │ </span><span class="r5">E ValueError: I/O operation on closed file</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_io_utils.py:50: ValueError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00024127995129674673</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_os_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">51</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_os_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_io_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.000274940044619143</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00021898397244513035</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">55</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;OSError: Simulated OSError&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">57</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;&quot;</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">55</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;OSError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;monkeypatch = &lt;_pytest.monkeypatch.MonkeyPatch object</span>
<span class="r2">│ │ │ </span><span class="r5">at 0x7f0db7e6adf0&gt;</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5"> def test_os_error(monkeypatch):</span>
<span class="r2">│ │ │ </span><span class="r5"> # Patch os.remove to raise OSError simulating filesystem</span>
<span class="r2">│ │ │ </span><span class="r5">error</span>
<span class="r2">│ │ │ </span><span class="r5"> def raise_os_error(path):</span>
<span class="r2">│ │ │ </span><span class="r5"> raise OSError(&quot;Simulated OSError&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5"> monkeypatch.setattr(&quot;os.remove&quot;, raise_os_error)</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; os.remove(&quot;file.txt&quot;)</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_io_utils.py:57: </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">path = &#x27;file.txt&#x27;</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5"> def raise_os_error(path):</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise OSError(&quot;Simulated OSError&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E OSError: Simulated OSError</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_io_utils.py:55: OSError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00021282397210597992</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_write_file_readonly&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">58</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_write_file_readonly&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_io_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0007261839928105474</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0009029629873111844</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00015958398580551147</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_io_utils.py::test_file_not_found_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">66</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_file_not_found_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_io_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013846997171640396</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00017680798191577196</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">69</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;FileNotFoundError: [Errno 2] No such file or </span>
<span class="r2">│ │ │ │ </span><span class="r5">directory: &#x27;no_such_file.txt&#x27;&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_io_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">69</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;FileNotFoundError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_file_not_found_error():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Raises FileNotFoundError when opening a non-existent </span>
<span class="r2">│ │ │ </span><span class="r5">file</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; open(&quot;no_such_file.txt&quot;, &quot;r&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E FileNotFoundError: [Errno 2] No such file or directory: </span>
<span class="r2">│ │ │ </span><span class="r5">&#x27;no_such_file.txt&#x27;</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_io_utils.py:69: FileNotFoundError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001557719660922885</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_broken&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">13</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_broken&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00012939400039613247</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00017559307161718607</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">16</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;NameError: name &#x27;want_the_test_to_fail&#x27; is not </span>
<span class="r2">│ │ │ │ </span><span class="r5">defined&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">16</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;NameError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_broken():</span>
<span class="r2">│ │ │ </span><span class="r5"> # simulating a broken or faulty test implementation that</span>
<span class="r2">│ │ │ </span><span class="r5">will cause the test to error</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; want_the_test_to_fail</span>
<span class="r2">│ │ │ </span><span class="r5">E NameError: name &#x27;want_the_test_to_fail&#x27; is not defined</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:16: NameError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013757101260125637</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_call_missing_function&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">17</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_call_missing_function&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.000119043979793787</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001510699512436986</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">20</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;AttributeError: module &#x27;functions.math_utils&#x27; has </span>
<span class="r2">│ │ │ │ </span><span class="r5">no attribute &#x27;non_existent_function&#x27;&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">20</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;AttributeError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_call_missing_function():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Accessing a missing function attribute raises </span>
<span class="r2">│ │ │ </span><span class="r5">AttributeError</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; getattr(math_utils, &quot;non_existent_function&quot;)()</span>
<span class="r2">│ │ │ </span><span class="r5">E AttributeError: module &#x27;functions.math_utils&#x27; has no </span>
<span class="r2">│ │ │ </span><span class="r5">attribute &#x27;non_existent_function&#x27;</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:20: AttributeError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013786298222839832</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_addition_pass[2-2-4]&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">22</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_addition_pass[2-2-4]&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;parametrize&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;pytestmark&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;2-2-4&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0003262300742790103</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00014390796422958374</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00014063192065805197</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_addition_pass[1-5-6]&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">22</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_addition_pass[1-5-6]&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;parametrize&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;pytestmark&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;1-5-6&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0002630489179864526</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013359496369957924</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013252405915409327</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_addition_pass[3-4-7]&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">22</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_addition_pass[3-4-7]&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;parametrize&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;pytestmark&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;3-4-7&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0002541639842092991</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00012574996799230576</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013214396312832832</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_addition_pass[3-5-8]&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">22</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_addition_pass[3-5-8]&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;parametrize&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;pytestmark&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;3-5-8&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00025280797854065895</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00012576999142766</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001280080759897828</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_addition_pass[3-6-9]&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">22</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_addition_pass[3-6-9]&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;parametrize&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;pytestmark&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;3-6-9&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0002490709302946925</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00012148392852395773</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001270559150725603</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_addition_pass_id&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">36</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_addition_pass_id&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;parametrize&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;pytestmark&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;a=2,b=2,expected=4&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00025460205506533384</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00012710702139884233</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013038096949458122</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_addition_pass_id&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">36</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_addition_pass_id&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;parametrize&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;pytestmark&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;a=1,b=5,expected=6&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00024689396377652884</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001224930165335536</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001422489294782281</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_addition_pass_id&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">36</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_addition_pass_id&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;parametrize&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;pytestmark&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;a=3,b=4,expected=7&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00025648402515798807</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00012656894978135824</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00012920796871185303</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_addition_fail&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">48</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_addition_fail&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001011720160022378</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0004662580322474241</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">51</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;assert 4 == 5</span>
<span class="r2">│ │ │ │ </span><span class="r5"> + where 4 = addition(2, 2)&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">51</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;AssertionError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_addition_fail():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Assertion failure: expected incorrect result</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; assert addition(2, 2) == 5</span>
<span class="r2">│ │ │ </span><span class="r5">E assert 4 == 5</span>
<span class="r2">│ │ │ </span><span class="r5">E + where 4 = addition(2, 2)</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:51: AssertionError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013867393136024475</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_division_zero&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">52</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_division_zero&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001165029825642705</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00015640503261238337</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/functions/math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">5</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;ZeroDivisionError: division by zero&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">55</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;&quot;</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;functions/math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">5</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;ZeroDivisionError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_division_zero():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Will raise ZeroDivisionError if not handled in </span>
<span class="r2">│ │ │ </span><span class="r5">division</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; division(1, 0)</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:55: </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">a = 1, b = 0</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5"> def division(a, b):</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; return a / b</span>
<span class="r2">│ │ │ </span><span class="r5">E ZeroDivisionError: division by zero</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">functions/math_utils.py:5: ZeroDivisionError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001372910337522626</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_multiply_xfail&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">56</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;xfailed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_multiply_xfail&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;xfail&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;pytestmark&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00014673604164272547</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00027240999042987823</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;skipped&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">60</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;assert 4 == 5</span>
<span class="r2">│ │ │ │ </span><span class="r5"> + where 4 = multiply(2, 2)&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">60</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;AssertionError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;@pytest.mark.xfail(reason=&quot;Expected failure&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5"> def test_multiply_xfail():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Expected fail test (xfail): incorrect expected </span>
<span class="r2">│ │ │ </span><span class="r5">multiply result</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; assert multiply(2, 2) == 5</span>
<span class="r2">│ │ │ </span><span class="r5">E assert 4 == 5</span>
<span class="r2">│ │ │ </span><span class="r5">E + where 4 = multiply(2, 2)</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:60: AssertionError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001355850836262107</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_runtime_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">61</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_runtime_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001181289553642273</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001598019152879715</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">64</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;RuntimeError: Forced runtime error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">64</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;RuntimeError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_runtime_error():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Test raises an uncaught RuntimeError</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise RuntimeError(&quot;Forced runtime error&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E RuntimeError: Forced runtime error</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:64: RuntimeError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013109308201819658</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_memory_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">65</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_memory_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001173289492726326</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00014812604058533907</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">68</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;MemoryError: Simulated memory error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">68</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;MemoryError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_memory_error():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Manually raise MemoryError to simulate out-of-memory </span>
<span class="r2">│ │ │ </span><span class="r5">condition</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise MemoryError(&quot;Simulated memory error&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E MemoryError: Simulated memory error</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:68: MemoryError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013674399815499783</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_timeout_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">69</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_timeout_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011517398525029421</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00014715595170855522</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">72</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;TimeoutError: Simulated timeout error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">72</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;TimeoutError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_timeout_error():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Manually raise TimeoutError simulating timeout </span>
<span class="r2">│ │ │ </span><span class="r5">conditions</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise TimeoutError(&quot;Simulated timeout error&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E TimeoutError: Simulated timeout error</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:72: TimeoutError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013202405534684658</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_recursion_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">73</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_recursion_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00012038892600685358</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0007694610394537449</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">77</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;RecursionError: maximum recursion depth exceeded&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">78</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">77</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in recursive&quot;</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">77</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in recursive&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_recursion_error():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Infinite recursion triggers RecursionError</span>
<span class="r2">│ │ │ </span><span class="r5"> def recursive():</span>
<span class="r2">│ │ │ </span><span class="r5"> return recursive()</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; recursive()</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:78: </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:77: in recursive</span>
<span class="r2">│ │ │ </span><span class="r5"> return recursive()</span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:77: in recursive</span>
<span class="r2">│ │ │ </span><span class="r5"> return recursive()</span>
<span class="r2">│ │ │ </span><span class="r5">E RecursionError: maximum recursion depth exceeded</span>
<span class="r2">│ │ │ </span><span class="r5">!!! Recursion detected (same locals &amp; position)&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013668497558683157</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_floating_point_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">79</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_floating_point_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011509202886372805</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00015865499153733253</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">82</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;FloatingPointError: Simulated floating point </span>
<span class="r2">│ │ │ │ </span><span class="r5">error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">82</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;FloatingPointError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_floating_point_error():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Manually raise FloatingPointError</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise FloatingPointError(&quot;Simulated floating point </span>
<span class="r2">│ │ │ </span><span class="r5">error&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E FloatingPointError: Simulated floating point error</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:82: FloatingPointError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013310008216649294</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_floating_point_overflow&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">83</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_floating_point_overflow&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011614803224802017</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00015314901247620583</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">86</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;OverflowError: math range error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">86</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;OverflowError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_floating_point_overflow():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Exponential overflow triggers OverflowError</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; math.exp(1000)</span>
<span class="r2">│ │ │ </span><span class="r5">E OverflowError: math range error</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:86: OverflowError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013554503675550222</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_value_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">87</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_value_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011774105951189995</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00015810609329491854</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">90</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;ValueError: invalid literal for int() with base </span>
<span class="r2">│ │ │ │ </span><span class="r5">10: &#x27;invalid&#x27;&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">90</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;ValueError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_value_error():</span>
<span class="r2">│ │ │ </span><span class="r5"> # ValueError on invalid integer conversion</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; int(&quot;invalid&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E ValueError: invalid literal for int() with base 10: </span>
<span class="r2">│ │ │ </span><span class="r5">&#x27;invalid&#x27;</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:90: ValueError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013520405627787113</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_wrong_argument_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">91</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_wrong_argument_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00012709293514490128</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.000151293003000319</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">94</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;TypeError: &#x27;int&#x27; object is not iterable&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">94</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;TypeError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_wrong_argument_error():</span>
<span class="r2">│ │ │ </span><span class="r5"> # TypeError when passing wrong argument type to sum</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; sum(5)</span>
<span class="r2">│ │ │ </span><span class="r5">E TypeError: &#x27;int&#x27; object is not iterable</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:94: TypeError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00014412403106689453</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_unhandled_exception&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">95</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_unhandled_exception&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011704093776643276</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00015748105943202972</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">98</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;Exception: Generic unhandled exception&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">98</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;Exception&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_unhandled_exception():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Raises generic unhandled Exception</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise Exception(&quot;Generic unhandled exception&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E Exception: Generic unhandled exception</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:98: Exception&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013320997823029757</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_custom_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">99</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_custom_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011997099500149488</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001519309589639306</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">102</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;test_math_utils.CustomError: Custom error </span>
<span class="r2">│ │ │ │ </span><span class="r5">simulation&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">102</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;CustomError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_custom_error():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Raises user-defined CustomError exception</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise CustomError(&quot;Custom error simulation&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E test_math_utils.CustomError: Custom error simulation</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:102: CustomError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013642897829413414</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_stop_iteration_direct&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">103</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_stop_iteration_direct&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011576898396015167</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00015537790022790432</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ </span><span class="r5">&quot;/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/s</span>
<span class="r2">│ │ │ │ │ </span><span class="r5">ite-packages/_pytest/capture.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">880</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;RuntimeError: generator raised StopIteration&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/site-packages/_pytest/</span>
<span class="r2">│ │ │ │ │ │ </span><span class="r5">runner.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">341</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/site-packages/_pytest/</span>
<span class="r2">│ │ │ │ │ │ </span><span class="r5">runner.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">242</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in &lt;lambda&gt;&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/site-packages/pluggy/_</span>
<span class="r2">│ │ │ │ │ │ </span><span class="r5">hooks.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">513</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in __call__&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/site-packages/pluggy/_</span>
<span class="r2">│ │ │ │ │ │ </span><span class="r5">manager.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">120</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in _hookexec&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/site-packages/_pytest/</span>
<span class="r2">│ │ │ │ │ │ </span><span class="r5">threadexception.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">92</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in pytest_runtest_call&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/site-packages/_pytest/</span>
<span class="r2">│ │ │ │ │ │ </span><span class="r5">threadexception.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">68</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in thread_exception_runtest_hook&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/site-packages/_pytest/</span>
<span class="r2">│ │ │ │ │ │ </span><span class="r5">unraisableexception.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">95</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in pytest_runtest_call&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/site-packages/_pytest/</span>
<span class="r2">│ │ │ │ │ │ </span><span class="r5">unraisableexception.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">70</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in unraisable_exception_runtest_hook&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/site-packages/_pytest/</span>
<span class="r2">│ │ │ │ │ │ </span><span class="r5">logging.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">846</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in pytest_runtest_call&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/site-packages/_pytest/</span>
<span class="r2">│ │ │ │ │ │ </span><span class="r5">logging.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">829</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in _runtest_for&quot;</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/site-packages/_pytest/</span>
<span class="r2">│ │ │ │ │ </span><span class="r5">capture.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">880</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;RuntimeError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_stop_iteration_direct():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Directly raise StopIteration exception</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise StopIteration()</span>
<span class="r2">│ │ │ </span><span class="r5">E StopIteration</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:106: StopIteration</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">The above exception was the direct cause of the following </span>
<span class="r2">│ │ │ </span><span class="r5">exception:</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">cls = &lt;class &#x27;_pytest.runner.CallInfo&#x27;&gt;</span>
<span class="r2">│ │ │ </span><span class="r5">func = &lt;function call_and_report.&lt;locals&gt;.&lt;lambda&gt; at </span>
<span class="r2">│ │ │ </span><span class="r5">0x7f0db841e4c0&gt;</span>
<span class="r2">│ │ │ </span><span class="r5">when = &#x27;call&#x27;</span>
<span class="r2">│ │ │ </span><span class="r5">reraise = (&lt;class &#x27;_pytest.outcomes.Exit&#x27;&gt;, &lt;class </span>
<span class="r2">│ │ │ </span><span class="r5">&#x27;KeyboardInterrupt&#x27;&gt;)</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5"> @classmethod</span>
<span class="r2">│ │ │ </span><span class="r5"> def from_call(</span>
<span class="r2">│ │ │ </span><span class="r5"> cls,</span>
<span class="r2">│ │ │ </span><span class="r5"> func: Callable[[], TResult],</span>
<span class="r2">│ │ │ </span><span class="r5"> when: Literal[&quot;collect&quot;, &quot;setup&quot;, &quot;call&quot;, &quot;teardown&quot;],</span>
<span class="r2">│ │ │ </span><span class="r5"> reraise: type[BaseException] | </span>
<span class="r2">│ │ │ </span><span class="r5">tuple[type[BaseException], ...] | None = None,</span>
<span class="r2">│ │ │ </span><span class="r5"> ) -&gt; CallInfo[TResult]:</span>
<span class="r2">│ │ │ </span><span class="r5"> &quot;&quot;&quot;Call func, wrapping the result in a CallInfo.</span>
<span class="r2">│ │ │ </span><span class="r5"> </span>
<span class="r2">│ │ │ </span><span class="r5"> :param func:</span>
<span class="r2">│ │ │ </span><span class="r5"> The function to call. Called without arguments.</span>
<span class="r2">│ │ │ </span><span class="r5"> :type func: Callable[[], _pytest.runner.TResult]</span>
<span class="r2">│ │ │ </span><span class="r5"> :param when:</span>
<span class="r2">│ │ │ </span><span class="r5"> The phase in which the function is called.</span>
<span class="r2">│ │ │ </span><span class="r5"> :param reraise:</span>
<span class="r2">│ │ │ </span><span class="r5"> Exception or exceptions that shall propagate if </span>
<span class="r2">│ │ │ </span><span class="r5">raised by the</span>
<span class="r2">│ │ │ </span><span class="r5"> function, instead of being wrapped in the CallInfo.</span>
<span class="r2">│ │ │ </span><span class="r5"> &quot;&quot;&quot;</span>
<span class="r2">│ │ │ </span><span class="r5"> excinfo = None</span>
<span class="r2">│ │ │ </span><span class="r5"> start = timing.time()</span>
<span class="r2">│ │ │ </span><span class="r5"> precise_start = timing.perf_counter()</span>
<span class="r2">│ │ │ </span><span class="r5"> try:</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; result: TResult | None = func()</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py</span>
<span class="r2">│ │ │ </span><span class="r5">:341: </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py</span>
<span class="r2">│ │ │ </span><span class="r5">:242: in &lt;lambda&gt;</span>
<span class="r2">│ │ │ </span><span class="r5"> lambda: runtest_hook(item=item, **kwds), when=when, </span>
<span class="r2">│ │ │ </span><span class="r5">reraise=reraise</span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/site-packages/pluggy/_hooks.py:</span>
<span class="r2">│ │ │ </span><span class="r5">513: in __call__</span>
<span class="r2">│ │ │ </span><span class="r5"> return self._hookexec(self.name, self._hookimpls.copy(), </span>
<span class="r2">│ │ │ </span><span class="r5">kwargs, firstresult)</span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/site-packages/pluggy/_manager.p</span>
<span class="r2">│ │ │ </span><span class="r5">y:120: in _hookexec</span>
<span class="r2">│ │ │ </span><span class="r5"> return self._inner_hookexec(hook_name, methods, kwargs, </span>
<span class="r2">│ │ │ </span><span class="r5">firstresult)</span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexc</span>
<span class="r2">│ │ │ </span><span class="r5">eption.py:92: in pytest_runtest_call</span>
<span class="r2">│ │ │ </span><span class="r5"> yield from thread_exception_runtest_hook()</span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexc</span>
<span class="r2">│ │ │ </span><span class="r5">eption.py:68: in thread_exception_runtest_hook</span>
<span class="r2">│ │ │ </span><span class="r5"> yield</span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisabl</span>
<span class="r2">│ │ │ </span><span class="r5">eexception.py:95: in pytest_runtest_call</span>
<span class="r2">│ │ │ </span><span class="r5"> yield from unraisable_exception_runtest_hook()</span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisabl</span>
<span class="r2">│ │ │ </span><span class="r5">eexception.py:70: in unraisable_exception_runtest_hook</span>
<span class="r2">│ │ │ </span><span class="r5"> yield</span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.p</span>
<span class="r2">│ │ │ </span><span class="r5">y:846: in pytest_runtest_call</span>
<span class="r2">│ │ │ </span><span class="r5"> yield from self._runtest_for(item, &quot;call&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.p</span>
<span class="r2">│ │ │ </span><span class="r5">y:829: in _runtest_for</span>
<span class="r2">│ │ │ </span><span class="r5"> yield</span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">self = &lt;CaptureManager _method=&#x27;no&#x27; </span>
<span class="r2">│ │ │ </span><span class="r5">_global_capturing=&lt;MultiCapture out=None err=None in_=None </span>
<span class="r2">│ │ │ </span><span class="r5">_state=&#x27;suspended&#x27; _in_suspended=False&gt; _capture_fixture=None&gt;</span>
<span class="r2">│ │ │ </span><span class="r5">item = &lt;Function test_stop_iteration_direct&gt;</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5"> @hookimpl(wrapper=True)</span>
<span class="r2">│ │ │ </span><span class="r5"> def pytest_runtest_call(self, item: Item) -&gt; </span>
<span class="r2">│ │ │ </span><span class="r5">Generator[None]:</span>
<span class="r2">│ │ │ </span><span class="r5"> with self.item_capture(&quot;call&quot;, item):</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; return (yield)</span>
<span class="r2">│ │ │ </span><span class="r5">E RuntimeError: generator raised StopIteration</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.p</span>
<span class="r2">│ │ │ </span><span class="r5">y:880: RuntimeError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0002677320735529065</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_generator_exit_direct&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">107</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_generator_exit_direct&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001417449675500393</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00017248094081878662</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">110</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;GeneratorExit&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">110</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;GeneratorExit&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_generator_exit_direct():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Directly raise GeneratorExit exception</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise GeneratorExit()</span>
<span class="r2">│ │ │ </span><span class="r5">E GeneratorExit</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:110: GeneratorExit&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00016654492355883121</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_malformed_code&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">111</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_malformed_code&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00012392201460897923</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00017078802920877934</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">114</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot; File &quot;&lt;string&gt;&quot;, line 1</span>
<span class="r2">│ │ │ │ </span><span class="r5"> def bad(:</span>
<span class="r2">│ │ │ │ </span><span class="r5"> ^</span>
<span class="r2">│ │ │ │ </span><span class="r5">SyntaxError: invalid syntax&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">114</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;SyntaxError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_malformed_code():</span>
<span class="r2">│ │ │ </span><span class="r5"> # SyntaxError when executing malformed Python code</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; exec(&quot;def bad(:\n pass&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E File &quot;&lt;string&gt;&quot;, line 1</span>
<span class="r2">│ │ │ </span><span class="r5">E def bad(:</span>
<span class="r2">│ │ │ </span><span class="r5">E ^</span>
<span class="r2">│ │ │ </span><span class="r5">E SyntaxError: invalid syntax</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:114: SyntaxError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00015127402730286121</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_sys_exit&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">115</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_sys_exit&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001187219750136137</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00015819701366126537</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">118</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;SystemExit: 1&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">118</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;SystemExit&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_sys_exit():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Simulate SystemExit via sys.exit</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; sys.exit(1)</span>
<span class="r2">│ │ │ </span><span class="r5">E SystemExit: 1</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:118: SystemExit&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013676297385245562</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_broken_function&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">119</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_broken_function&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00012654298916459084</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001669420162215829</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">123</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;TypeError: Broken function&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">124</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;&quot;</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">123</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;TypeError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_broken_function():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Simulate broken function raising TypeError</span>
<span class="r2">│ │ │ </span><span class="r5"> def broken_func(*args, **kwargs):</span>
<span class="r2">│ │ │ </span><span class="r5"> raise TypeError(&quot;Broken function&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; broken_func()</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:124: </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">args = (), kwargs = {}</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5"> def broken_func(*args, **kwargs):</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise TypeError(&quot;Broken function&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E TypeError: Broken function</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:123: TypeError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001369150122627616</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_import_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">125</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_import_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001182629493996501</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.000159613904543221</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">127</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;ImportError: Simulated ImportError&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">127</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;ImportError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_import_error():</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise ImportError(&quot;Simulated ImportError&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E ImportError: Simulated ImportError</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:127: ImportError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001364400377497077</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_math_utils.py::test_module_not_found_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">128</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_module_not_found_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_math_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011761998757719994</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00047670502681285143</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;&lt;frozen importlib._bootstrap&gt;&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">973</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;ModuleNotFoundError: No module named </span>
<span class="r2">│ │ │ │ </span><span class="r5">&#x27;non_existent_module_xyz&#x27;&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_math_utils.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">131</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>:
<span class="r2">│ │ │ │ │ │ </span><span class="r5">&quot;.pixi/envs/default/lib/python3.8/importlib/__init__.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">127</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in import_module&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;&lt;frozen importlib._bootstrap&gt;&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">1014</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in _gcd_import&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;&lt;frozen importlib._bootstrap&gt;&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">991</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;in _find_and_load&quot;</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;&lt;frozen importlib._bootstrap&gt;&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">973</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;ModuleNotFoundError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_module_not_found_error():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Raises ModuleNotFoundError (subclass of ImportError) </span>
<span class="r2">│ │ │ </span><span class="r5">for missing module</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; importlib.import_module(&quot;non_existent_module_xyz&quot;)</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_math_utils.py:131: </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in </span>
<span class="r2">│ │ │ </span><span class="r5">import_module</span>
<span class="r2">│ │ │ </span><span class="r5"> return _bootstrap._gcd_import(name, package, level)</span>
<span class="r2">│ │ │ </span><span class="r5">&lt;frozen importlib._bootstrap&gt;:1014: in _gcd_import</span>
<span class="r2">│ │ │ </span><span class="r5"> ???</span>
<span class="r2">│ │ │ </span><span class="r5">&lt;frozen importlib._bootstrap&gt;:991: in _find_and_load</span>
<span class="r2">│ │ │ </span><span class="r5"> ???</span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">name = &#x27;non_existent_module_xyz&#x27;</span>
<span class="r2">│ │ │ </span><span class="r5">import_ = &lt;function _gcd_import at 0x7f0dbc83f4c0&gt;</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">&gt; ???</span>
<span class="r2">│ │ │ </span><span class="r5">E ModuleNotFoundError: No module named </span>
<span class="r2">│ │ │ </span><span class="r5">&#x27;non_existent_module_xyz&#x27;</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">&lt;frozen importlib._bootstrap&gt;:973: ModuleNotFoundError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00018405495211482048</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_string_utils.py::test_uppercase_normal&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">7</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_uppercase_normal&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_string_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00016108795534819365</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001583929406479001</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00010466203093528748</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_string_utils.py::test_uppercase_type_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">11</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_uppercase_type_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_string_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011343008372932673</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00014667189680039883</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/functions/string_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">3</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;TypeError: Input cannot be None&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_string_utils.py&quot;</span>
<span class="r2">│ │ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">14</span>
<span class="r2">│ │ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;&quot;</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;functions/string_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">3</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;TypeError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_uppercase_type_error():</span>
<span class="r2">│ │ │ </span><span class="r5"> # TypeError when input is None (invalid input)</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; uppercase(None)</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_string_utils.py:14: </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span><span class="r5">_ _ _ _ _ _ _ _ </span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">s = None</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5"> def uppercase(s):</span>
<span class="r2">│ │ │ </span><span class="r5"> if s is None:</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; raise TypeError(&quot;Input cannot be None&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E TypeError: Input cannot be None</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">functions/string_utils.py:3: TypeError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00018305203411728144</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_string_utils.py::test_reverse_string&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">15</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_reverse_string&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_string_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00015661492943763733</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00016095698811113834</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00010271498467773199</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_string_utils.py::test_warning_emit&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">19</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_warning_emit&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_string_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00010676996316760778</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001734130783006549</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011708796955645084</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_string_utils.py::test_unicode_decode_error&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">23</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_unicode_decode_error&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_string_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011107895988970995</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00016814901027828455</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_string_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">26</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;UnicodeDecodeError: &#x27;utf-8&#x27; codec can&#x27;t decode </span>
<span class="r2">│ │ │ │ </span><span class="r5">byte 0xff in position 0: invalid start byte&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_string_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">26</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;UnicodeDecodeError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_unicode_decode_error():</span>
<span class="r2">│ │ │ </span><span class="r5"> # UnicodeDecodeError when decoding invalid byte sequence</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; b&#x27;\xff&#x27;.decode(&#x27;utf-8&#x27;)</span>
<span class="r2">│ │ │ </span><span class="r5">E UnicodeDecodeError: &#x27;utf-8&#x27; codec can&#x27;t decode byte 0xff</span>
<span class="r2">│ │ │ </span><span class="r5">in position 0: invalid start byte</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_string_utils.py:26: UnicodeDecodeError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00014081597328186035</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>:
<span class="r2">│ │ │ </span><span class="r5">&quot;tests/test_string_utils.py::test_unicode_decode_surrogateescape&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">27</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_unicode_decode_surrogateescape&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_string_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011643394827842712</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00015874800737947226</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;failed&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_string_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">30</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;UnicodeDecodeError: &#x27;utf-8&#x27; codec can&#x27;t decode </span>
<span class="r2">│ │ │ │ </span><span class="r5">byte 0x80 in position 0: invalid start byte&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_string_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">30</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;UnicodeDecodeError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;def test_unicode_decode_surrogateescape():</span>
<span class="r2">│ │ │ </span><span class="r5"> # UnicodeDecodeError with strict error handler on </span>
<span class="r2">│ │ │ </span><span class="r5">invalid byte</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; b&quot;\x80&quot;.decode(&quot;utf-8&quot;, errors=&quot;strict&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5">E UnicodeDecodeError: &#x27;utf-8&#x27; codec can&#x27;t decode byte 0x80</span>
<span class="r2">│ │ │ </span><span class="r5">in position 0: invalid start byte</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_string_utils.py:30: UnicodeDecodeError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013445201329886913</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_string_utils.py::test_import_warning&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">31</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_import_warning&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_string_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011433695908635855</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013735308311879635</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00011824897956103086</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">-</span>
<span class="r2">│ │ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_string_utils.py::test_xfail_uppercase_digits&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">lineno</span>: <span class="r4">35</span>
<span class="r2">│ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;xfailed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_xfail_uppercase_digits&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;xfail&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;pytestmark&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;test_string_utils.py&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">setup</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00012995698489248753</span>
<span class="r2">│ │ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ │ ├── </span><span class="r3">call</span>
<span class="r2">│ │ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.0006160879274830222</span>
<span class="r2">│ │ │ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;skipped&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">crash</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_string_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">39</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;AssertionError: assert &#x27;ABC123&#x27; == &#x27;ABC1234&#x27;</span>
<span class="r2">│ │ │ │ </span><span class="r5"> </span>
<span class="r2">│ │ │ │ </span><span class="r5"> - ABC1234</span>
<span class="r2">│ │ │ │ </span><span class="r5"> ? -</span>
<span class="r2">│ │ │ │ </span><span class="r5"> + ABC123&quot;</span>
<span class="r2">│ │ │ ├── </span><span class="r3">traceback</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">-</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">path</span>: <span class="r5">&quot;tests/test_string_utils.py&quot;</span>
<span class="r2">│ │ │ │ ├── </span><span class="r3">lineno</span>: <span class="r4">39</span>
<span class="r2">│ │ │ │ └── </span><span class="r3">message</span>: <span class="r5">&quot;AssertionError&quot;</span>
<span class="r2">│ │ │ └── </span><span class="r3">longrepr</span>: <span class="r5">&quot;@pytest.mark.xfail(reason=&quot;Expected failure: </span>
<span class="r2">│ │ │ </span><span class="r5">uppercase does not handle digits&quot;)</span>
<span class="r2">│ │ │ </span><span class="r5"> def test_xfail_uppercase_digits():</span>
<span class="r2">│ │ │ </span><span class="r5"> # Expected fail test because uppercase won&#x27;t change </span>
<span class="r2">│ │ │ </span><span class="r5">digits</span>
<span class="r2">│ │ │ </span><span class="r5">&gt; assert uppercase(&quot;abc123&quot;) == &quot;ABC1234&quot;</span>
<span class="r2">│ │ │ </span><span class="r5">E AssertionError: assert &#x27;ABC123&#x27; == &#x27;ABC1234&#x27;</span>
<span class="r2">│ │ │ </span><span class="r5">E </span>
<span class="r2">│ │ │ </span><span class="r5">E - ABC1234</span>
<span class="r2">│ │ │ </span><span class="r5">E ? -</span>
<span class="r2">│ │ │ </span><span class="r5">E + ABC123</span>
<span class="r2">│ │ │ </span>
<span class="r2">│ │ │ </span><span class="r5">tests/test_string_utils.py:39: AssertionError&quot;</span>
<span class="r2">│ │ └── </span><span class="r3">teardown</span>
<span class="r2">│ │ ├── </span><span class="r3">duration</span>: <span class="r4">0.00013392604887485504</span>
<span class="r2">│ │ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ └── </span><span class="r3">-</span>
<span class="r2">│ ├── </span><span class="r3">nodeid</span>: <span class="r5">&quot;tests/test_string_utils.py::test_keyboard_interrupt_direct&quot;</span>
<span class="r2">│ ├── </span><span class="r3">lineno</span>: <span class="r4">40</span>
<span class="r2">│ ├── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">│ ├── </span><span class="r3">keywords</span>
<span class="r2">│ │ ├── </span><span class="r5">&quot;test_keyboard_interrupt_direct&quot;</span>
<span class="r2">│ │ ├── </span><span class="r5">&quot;test_string_utils.py&quot;</span>
<span class="r2">│ │ ├── </span><span class="r5">&quot;tests&quot;</span>
<span class="r2">│ │ ├── </span><span class="r5">&quot;slic&quot;</span>
<span class="r2">│ │ └── </span><span class="r5">&quot;&quot;</span>
<span class="r2">│ └── </span><span class="r3">setup</span>
<span class="r2">│ ├── </span><span class="r3">duration</span>: <span class="r4">0.0001188239548355341</span>
<span class="r2">│ └── </span><span class="r3">outcome</span>: <span class="r5">&quot;passed&quot;</span>
<span class="r2">└── </span><span class="r3">warnings</span>
<span class="r2"> └── </span><span class="r3">-</span>
<span class="r2"> ├── </span><span class="r3">message</span>: <span class="r5">&quot;Test warning&quot;</span>
<span class="r2"> ├── </span><span class="r3">category</span>: <span class="r5">&quot;UserWarning&quot;</span>
<span class="r2"> ├── </span><span class="r3">when</span>: <span class="r5">&quot;runtest&quot;</span>
<span class="r2"> ├── </span><span class="r3">filename</span>: <span class="r5">&quot;/workspace/tligui_y/slic/tests/test_string_utils.py&quot;</span>
<span class="r2"> └── </span><span class="r3">lineno</span>: <span class="r4">22</span>
</code></pre>
</body>
</html>