diff --git a/ci-reports/markdown/TEST-REPORT.md b/ci-reports/markdown/TEST-REPORT.md
index 464a279c..88ef7df8 100644
--- a/ci-reports/markdown/TEST-REPORT.md
+++ b/ci-reports/markdown/TEST-REPORT.md
@@ -1,12 +1,2694 @@
# ๐งช Test Report
-*Generated on 2025-07-14 10:06:49*
+*Generated on 2025-07-14 10:49:27*
## ๐ Summary
-- **Total**: `0`
+- **Failed**: `15`
+- **Passed**: `13`
+- **Xfailed**: `1`
+- **Total**: `29`
- **Collected**: `44`
-- **Total Duration**: `0.268`s
+- **Total Duration**: `0.541`s
## ๐ Tests
+
+โ Failed (15)
+
+
+๐ test_io_utils.py
+
+
+๐ง Function: `test_read_file`
+
+
+โ #1
+
+- **Status:** โ `failed`
+- **Duration:** `0.000438` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.0037692569894716144
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.0004380750469863415
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_io_utils.py
+lineno: 14
+message: NameError: name 'io_utils' is not defined
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_io_utils.py
+lineno: 14
+message: NameError
+```
+
+
+
+๐ Longrepr
+
+```
+tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/test_read_file0')
+
+ def test_read_file(tmp_path):
+ # Write and read file, normal operation
+ file = tmp_path / "test.txt"
+ file.write_text("hello")
+> content = io_utils.read_file(str(file))
+E NameError: name 'io_utils' is not defined
+
+tests/test_io_utils.py:14: NameError
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.0012364560971036553
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_write_file`
+
+
+โ #2
+
+- **Status:** โ `failed`
+- **Duration:** `0.000257` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.0006496669957414269
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.0002567790215834975
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_io_utils.py
+lineno: 20
+message: NameError: name 'io_utils' is not defined
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_io_utils.py
+lineno: 20
+message: NameError
+```
+
+
+
+๐ Longrepr
+
+```
+tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/test_write_file0')
+
+ def test_write_file(tmp_path):
+ # Write content to file and verify write success
+ file = tmp_path / "test_write.txt"
+> io_utils.write_file(str(file), "data")
+E NameError: name 'io_utils' is not defined
+
+tests/test_io_utils.py:20: NameError
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.0006955859716981649
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_cause_io_error`
+
+
+โ #3
+
+- **Status:** โ `failed`
+- **Duration:** `0.000305` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.0001864719670265913
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.0003045720513910055
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_io_utils.py
+lineno: 26
+message: NameError: name 'io_utils' is not defined
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_io_utils.py
+lineno: 26
+message: NameError
+```
+
+
+
+๐ Longrepr
+
+```
+def test_cause_io_error():
+ # Raises manual IOError to simulate IO failure
+ with pytest.raises(IOError):
+> io_utils.cause_io_error()
+E NameError: name 'io_utils' is not defined
+
+tests/test_io_utils.py:26: NameError
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.0002345299581065774
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_file_not_found`
+
+
+โ #4
+
+- **Status:** โ `failed`
+- **Duration:** `0.000186` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00018098996952176094
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00018639990594238043
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_io_utils.py
+lineno: 31
+message: NameError: name 'io_utils' is not defined
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_io_utils.py
+lineno: 31
+message: NameError
+```
+
+
+
+๐ Longrepr
+
+```
+def test_file_not_found():
+ # Reading non-existing file raises FileNotFoundError
+ with pytest.raises(FileNotFoundError):
+> io_utils.read_file("nonexistent.file")
+E NameError: name 'io_utils' is not defined
+
+tests/test_io_utils.py:31: NameError
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.00023322494234889746
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_permission_error`
+
+
+โ #5
+
+- **Status:** โ `failed`
+- **Duration:** `0.000226` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.0003613000735640526
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00022635399363934994
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_io_utils.py
+lineno: 39
+message: NameError: name 'io_utils' is not defined
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_io_utils.py
+lineno: 39
+message: NameError
+```
+
+
+
+๐ Longrepr
+
+```
+monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f0275a5b7c0>
+
+ def test_permission_error(monkeypatch):
+ # Patch open to raise PermissionError simulating access denial
+ def raise_perm_error(*args, **kwargs):
+ raise PermissionError("Permission denied")
+ monkeypatch.setattr("builtins.open", raise_perm_error)
+ with pytest.raises(PermissionError):
+> io_utils.read_file("anyfile.txt")
+E NameError: name 'io_utils' is not defined
+
+tests/test_io_utils.py:39: NameError
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.00066454301122576
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_write_file_readonly`
+
+
+โ #9
+
+- **Status:** โ `failed`
+- **Duration:** `0.000994` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.0006689870497211814
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.0009943170007318258
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_io_utils.py
+lineno: 72
+message: Failed: DID NOT RAISE
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_io_utils.py
+lineno: 72
+message: Failed
+```
+
+
+
+๐ Longrepr
+
+```
+tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/test_write_file_readonly0')
+
+ def test_write_file_readonly(tmp_path):
+ # Writing to read-only file raises PermissionError
+ file = tmp_path / "readonly.txt"
+ file.write_text("data")
+ os.chmod(file, 0o444)
+ with pytest.raises(PermissionError):
+ with open(file, "w") as f:
+> f.write("new content")
+E Failed: DID NOT RAISE
+
+tests/test_io_utils.py:72: Failed
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.0006725600687786937
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+
+
+๐ test_math_utils.py
+
+
+๐ง Function: `test_broken`
+
+
+โ #11
+
+- **Status:** โ `failed`
+- **Duration:** `0.000182` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00017980404663830996
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00018199696205556393
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_math_utils.py
+lineno: 15
+message: NameError: name 'want_the_test_to_fail' is not defined
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_math_utils.py
+lineno: 15
+message: NameError
+```
+
+
+
+๐ Longrepr
+
+```
+def test_broken():
+ # simulating a broken or faulty test implementation that will cause the test to error
+> want_the_test_to_fail
+E NameError: name 'want_the_test_to_fail' is not defined
+
+tests/test_math_utils.py:15: NameError
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.00023101200349628925
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_call_missing_function`
+
+
+โ #12
+
+- **Status:** โ `failed`
+- **Duration:** `0.000188` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00018848199397325516
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00018768804147839546
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_math_utils.py
+lineno: 20
+message: NameError: name 'math_utils' is not defined
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_math_utils.py
+lineno: 20
+message: NameError
+```
+
+
+
+๐ Longrepr
+
+```
+def test_call_missing_function():
+ # Accessing a missing function attribute raises AttributeError
+ with pytest.raises(AttributeError):
+> getattr(math_utils, "non_existent_function")()
+E NameError: name 'math_utils' is not defined
+
+tests/test_math_utils.py:20: NameError
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.00024636799935251474
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_addition_pass`
+
+
+โ #13
+
+- **Status:** โ `failed`
+- **Duration:** `0.000175` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00019525096286088228
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.0001748900394886732
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_math_utils.py
+lineno: 24
+message: NameError: name 'math_utils' is not defined
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_math_utils.py
+lineno: 24
+message: NameError
+```
+
+
+
+๐ Longrepr
+
+```
+def test_addition_pass():
+ # Test passes: correct addition
+> assert math_utils.addition(2, 2) == 4
+E NameError: name 'math_utils' is not defined
+
+tests/test_math_utils.py:24: NameError
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.0002345649991184473
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_addition_fail`
+
+
+โ #14
+
+- **Status:** โ `failed`
+- **Duration:** `0.000176` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00018273107707500458
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00017590797506272793
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_math_utils.py
+lineno: 28
+message: NameError: name 'math_utils' is not defined
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_math_utils.py
+lineno: 28
+message: NameError
+```
+
+
+
+๐ Longrepr
+
+```
+def test_addition_fail():
+ # Assertion failure: expected incorrect result
+> assert math_utils.addition(2, 2) == 5
+E NameError: name 'math_utils' is not defined
+
+tests/test_math_utils.py:28: NameError
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.00024787394795566797
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_division_zero`
+
+
+โ #15
+
+- **Status:** โ `failed`
+- **Duration:** `0.000198` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.0001847789390012622
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00019829499069601297
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_math_utils.py
+lineno: 33
+message: NameError: name 'math_utils' is not defined
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_math_utils.py
+lineno: 33
+message: NameError
+```
+
+
+
+๐ Longrepr
+
+```
+def test_division_zero():
+ # Expect ZeroDivisionError when dividing by zero
+ with pytest.raises(ZeroDivisionError):
+> math_utils.division(1, 0)
+E NameError: name 'math_utils' is not defined
+
+tests/test_math_utils.py:33: NameError
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.0002353360177949071
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_runtime_error`
+
+
+โ #17
+
+- **Status:** โ `failed`
+- **Duration:** `0.000174` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00018365599680691957
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00017368607223033905
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_math_utils.py
+lineno: 42
+message: RuntimeError: Forced runtime error
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_math_utils.py
+lineno: 42
+message: RuntimeError
+```
+
+
+
+๐ Longrepr
+
+```
+def test_runtime_error():
+ # Test raises an uncaught RuntimeError
+> raise RuntimeError("Forced runtime error")
+E RuntimeError: Forced runtime error
+
+tests/test_math_utils.py:42: RuntimeError
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.00023267301730811596
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_unhandled_exception`
+
+
+โ #25
+
+- **Status:** โ `failed`
+- **Duration:** `0.000170` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00019228796008974314
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00017015100456774235
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_math_utils.py
+lineno: 83
+message: Exception: Generic unhandled exception
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_math_utils.py
+lineno: 83
+message: Exception
+```
+
+
+
+๐ Longrepr
+
+```
+def test_unhandled_exception():
+ # Raises generic unhandled Exception
+> raise Exception("Generic unhandled exception")
+E Exception: Generic unhandled exception
+
+tests/test_math_utils.py:83: Exception
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.00023224996402859688
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_stop_iteration_direct`
+
+
+โ #27
+
+- **Status:** โ `failed`
+- **Duration:** `0.000166` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.0001820940524339676
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00016615900676697493
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py
+lineno: 880
+message: RuntimeError: generator raised StopIteration
+```
+
+
+
+๐ Traceback
+
+```
+path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py
+lineno: 341
+message:
+path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py
+lineno: 242
+message: in
+path: .pixi/envs/default/lib/python3.8/site-packages/pluggy/_hooks.py
+lineno: 513
+message: in __call__
+path: .pixi/envs/default/lib/python3.8/site-packages/pluggy/_manager.py
+lineno: 120
+message: in _hookexec
+path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py
+lineno: 92
+message: in pytest_runtest_call
+path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py
+lineno: 68
+message: in thread_exception_runtest_hook
+path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py
+lineno: 95
+message: in pytest_runtest_call
+path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py
+lineno: 70
+message: in unraisable_exception_runtest_hook
+path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py
+lineno: 846
+message: in pytest_runtest_call
+path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py
+lineno: 829
+message: in _runtest_for
+path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py
+lineno: 880
+message: RuntimeError
+```
+
+
+
+๐ Longrepr
+
+```
+def test_stop_iteration_direct():
+ # Directly raise StopIteration exception
+> raise StopIteration()
+E StopIteration
+
+tests/test_math_utils.py:92: StopIteration
+
+The above exception was the direct cause of the following exception:
+
+cls =
+func = . at 0x7f02788cd940>
+when = 'call'
+reraise = (, )
+
+ @classmethod
+ def from_call(
+ cls,
+ func: Callable[[], TResult],
+ when: Literal["collect", "setup", "call", "teardown"],
+ reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None,
+ ) -> CallInfo[TResult]:
+ """Call func, wrapping the result in a CallInfo.
+
+ :param func:
+ The function to call. Called without arguments.
+ :type func: Callable[[], _pytest.runner.TResult]
+ :param when:
+ The phase in which the function is called.
+ :param reraise:
+ Exception or exceptions that shall propagate if raised by the
+ function, instead of being wrapped in the CallInfo.
+ """
+ excinfo = None
+ start = timing.time()
+ precise_start = timing.perf_counter()
+ try:
+> result: TResult | None = func()
+
+.pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py:341:
+_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
+.pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py:242: in
+ lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
+.pixi/envs/default/lib/python3.8/site-packages/pluggy/_hooks.py:513: in __call__
+ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
+.pixi/envs/default/lib/python3.8/site-packages/pluggy/_manager.py:120: in _hookexec
+ return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
+.pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py:92: in pytest_runtest_call
+ yield from thread_exception_runtest_hook()
+.pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py:68: in thread_exception_runtest_hook
+ yield
+.pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py:95: in pytest_runtest_call
+ yield from unraisable_exception_runtest_hook()
+.pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py:70: in unraisable_exception_runtest_hook
+ yield
+.pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py:846: in pytest_runtest_call
+ yield from self._runtest_for(item, "call")
+.pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py:829: in _runtest_for
+ yield
+_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
+
+self = _capture_fixture=None>
+item =
+
+ @hookimpl(wrapper=True)
+ def pytest_runtest_call(self, item: Item) -> Generator[None]:
+ with self.item_capture("call", item):
+> return (yield)
+E RuntimeError: generator raised StopIteration
+
+.pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py:880: RuntimeError
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.0004075230099260807
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_generator_exit_direct`
+
+
+โ #28
+
+- **Status:** โ `failed`
+- **Duration:** `0.000201` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.0002737219911068678
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00020075100474059582
+```
+
+
+
+๐ Outcome
+
+```
+failed
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_math_utils.py
+lineno: 96
+message: GeneratorExit
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_math_utils.py
+lineno: 96
+message: GeneratorExit
+```
+
+
+
+๐ Longrepr
+
+```
+def test_generator_exit_direct():
+ # Directly raise GeneratorExit exception
+> raise GeneratorExit()
+E GeneratorExit
+
+tests/test_math_utils.py:96: GeneratorExit
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.0002665530191734433
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+
+
+
+
+โ
Passed (13)
+
+
+๐ test_io_utils.py
+
+
+๐ง Function: `test_mock_open_error`
+
+
+โ
#6
+
+- **Status:** โ
`passed`
+- **Duration:** `0.003411` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.0003313859924674034
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.0034108759136870503
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.0008911369368433952
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_file_handle_closed_error`
+
+
+โ
#7
+
+- **Status:** โ
`passed`
+- **Duration:** `0.000181` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00018344598356634378
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.0001807810040190816
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.0002148449420928955
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_os_error`
+
+
+โ
#8
+
+- **Status:** โ
`passed`
+- **Duration:** `0.000196` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00034412997774779797
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00019602198153734207
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.0006234110333025455
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_file_not_found_error`
+
+
+โ
#10
+
+- **Status:** โ
`passed`
+- **Duration:** `0.000200` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00019359705038368702
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.0002003390109166503
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.00021172501146793365
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+
+
+๐ test_math_utils.py
+
+
+๐ง Function: `test_memory_error`
+
+
+โ
#18
+
+- **Status:** โ
`passed`
+- **Duration:** `0.000191` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00018795696087181568
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00019109901040792465
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.00019160902593284845
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_timeout_error`
+
+
+โ
#19
+
+- **Status:** โ
`passed`
+- **Duration:** `0.000180` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00018414400983601809
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.000180334085598588
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.00021499092690646648
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_recursion_error`
+
+
+โ
#20
+
+- **Status:** โ
`passed`
+- **Duration:** `0.000894` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.000179423950612545
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.0008943530265241861
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.00020220689475536346
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_floating_point_error`
+
+
+โ
#21
+
+- **Status:** โ
`passed`
+- **Duration:** `0.000175` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00019603699911385775
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00017490005120635033
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.00019033695571124554
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_floating_point_overflow`
+
+
+โ
#22
+
+- **Status:** โ
`passed`
+- **Duration:** `0.000180` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00018187204841524363
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.0001800700556486845
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.0001927969278767705
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_value_error`
+
+
+โ
#23
+
+- **Status:** โ
`passed`
+- **Duration:** `0.000176` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00018067099153995514
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.0001755179837346077
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.00019247503951191902
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_type_error`
+
+
+โ
#24
+
+- **Status:** โ
`passed`
+- **Duration:** `0.000168` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.00016994704492390156
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00016761594451963902
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.000188126927241683
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_custom_error`
+
+
+โ
#26
+
+- **Status:** โ
`passed`
+- **Duration:** `0.000186` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.0001844220096245408
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00018601398915052414
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.00019491289276629686
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+๐ง Function: `test_keyboard_interrupt_direct`
+
+
+โ
#29
+
+- **Status:** โ
`passed`
+- **Duration:** `None`
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.0001925829565152526
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+
+
+
+
+โ Xfailed (1)
+
+
+๐ test_math_utils.py
+
+
+๐ง Function: `test_multiply_xfail`
+
+
+โ #16
+
+- **Status:** โ `xfailed`
+- **Duration:** `0.000168` s
+- **Severity:** `normal`
+
+### ๐ง Setup Phase
+
+
+๐ Duration
+
+```
+0.000201432965695858
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+### ๐ง Call Phase
+
+
+๐ Duration
+
+```
+0.00016780500300228596
+```
+
+
+
+๐ Outcome
+
+```
+skipped
+```
+
+
+
+๐ Crash
+
+```
+path: /workspace/tligui_y/slic/tests/test_math_utils.py
+lineno: 38
+message: NameError: name 'math_utils' is not defined
+```
+
+
+
+๐ Traceback
+
+```
+path: tests/test_math_utils.py
+lineno: 38
+message: NameError
+```
+
+
+
+๐ Longrepr
+
+```
+@pytest.mark.xfail(reason="Expected failure")
+ def test_multiply_xfail():
+ # Expected fail test (xfail): incorrect expected multiply result
+> assert math_utils.multiply(2, 2) == 5
+E NameError: name 'math_utils' is not defined
+
+tests/test_math_utils.py:38: NameError
+```
+
+
+
+### ๐ง Teardown Phase
+
+
+๐ Duration
+
+```
+0.0002581499284133315
+```
+
+
+
+๐ Outcome
+
+```
+passed
+```
+
+
+
+
+
+
+
+
+
+
## ๐ Collected files
โ
(1 tests)