From 2db8a47599820ef84df36acb34dbb6927f60d55c Mon Sep 17 00:00:00 2001 From: ci-bot Date: Tue, 15 Jul 2025 23:57:14 +0000 Subject: [PATCH] CI: update test report and coverage files --- ci-reports/markdown/TEST-REPORT.md | 6439 ++++++++++++----------- ci-reports/markdown/md-report.log | 6 +- ci-reports/markdown/pytest-report.json | 2 +- ci-reports/markdown/raw-test-output.log | 16 +- 4 files changed, 3460 insertions(+), 3003 deletions(-) diff --git a/ci-reports/markdown/TEST-REPORT.md b/ci-reports/markdown/TEST-REPORT.md index 97a27c9c1..888f2e27c 100644 --- a/ci-reports/markdown/TEST-REPORT.md +++ b/ci-reports/markdown/TEST-REPORT.md @@ -2,7 +2,7 @@ > The test run was interrupted by the user (reasons : KeyboardInterrupt or ...). -
+
๐Ÿ“‹ Short test summary info ``` @@ -51,14 +51,14 @@ ERROR tests/test_collector_error.py ```
-
+
๐Ÿชต Full raw pytest log ``` ============================= test session starts ============================== platform linux -- Python 3.8.20, pytest-8.3.4, pluggy-1.5.0 rootdir: /workspace/tligui_y/slic -plugins: cov-5.0.0, html-4.1.1, allure-pytest-2.13.5, metadata-3.1.1, json-report-1.5.0, md-report-0.6.2 +plugins: metadata-3.1.1, cov-5.0.0, allure-pytest-2.13.5, html-4.1.1, json-report-1.5.0, md-report-0.6.2 collected 49 items / 2 errors tests/test_io_utils.py ..FFFFFF.F @@ -133,7 +133,7 @@ E FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.fil functions/io_utils.py:2: FileNotFoundError ____________________________ test_permission_error _____________________________ -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7ff6c63f1130> +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6cff624fd0> def test_permission_error(monkeypatch): # Patch open to raise PermissionError simulating access denial @@ -157,7 +157,7 @@ E PermissionError: Permission denied tests/test_io_utils.py:34: PermissionError _____________________________ test_mock_open_error _____________________________ -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7ff6c63ef6d0> +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6cffb449a0> def test_mock_open_error(monkeypatch): # Mock open() to raise IOError simulating read error @@ -174,7 +174,7 @@ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ return self._execute_mock_call(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = +self = args = ('file.txt', 'r'), kwargs = {}, effect = OSError('Mocked IOError') def _execute_mock_call(self, /, *args, **kwargs): @@ -200,7 +200,7 @@ E ValueError: I/O operation on closed file tests/test_io_utils.py:50: ValueError ________________________________ test_os_error _________________________________ -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7ff6c9ec4e80> +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6cff624d30> def test_os_error(monkeypatch): # Patch os.remove to raise OSError simulating filesystem error @@ -368,7 +368,7 @@ tests/test_math_utils.py:106: StopIteration The above exception was the direct cause of the following exception: cls = -func = . at 0x7ff6c63f61f0> +func = . at 0x7f6d022da9d0> when = 'call' reraise = (, ) @@ -497,7 +497,7 @@ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'non_existent_module_xyz' -import_ = +import_ = > ??? E ModuleNotFoundError: No module named 'non_existent_module_xyz' @@ -597,43 +597,55 @@ ERROR tests/test_collector_error.py --- # ๐Ÿงช Test Report -*Generated on 2025-07-15 23:39:18* +*Generated on 2025-07-15 23:57:14* ## ๐Ÿ“‹ Summary -- **Passed**: 16 -- **Failed**: 31 -- **Xfailed**: 2 -- **Total**: 49 -- **Collected**: 49 -- **Total Duration**: 0.695s +- **Passed**: `16` +- **Failed**: `31` +- **Xfailed**: `2` +- **Total**: `49` +- **Collected**: `49` +- **Total Duration**: `0.689`s ## ๐Ÿ”Ž Tests -
-
-โœ… tests/test_io_utils.py::test_read_file +
+
+โœ… Passed (16) -- **Status:** โœ… passed -- **Duration:** 0.000426 s +
+
+๐Ÿ“ test_io_utils.py + +
+
+๐Ÿ”ง Function: `test_read_file` + +
+
+โœ… #1 + +- **Status:** โœ… `passed` +- **Duration:** `0.000437` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.003145200083963573 +`0.003236689022742212` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -642,23 +654,23 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0004264849703758955 +`0.00043663010001182556` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -667,58 +679,66 @@ passed ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0002480460098013282 +`0.00024795206263661385` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_write_file` -``` -passed -``` +
+
+โœ… #2 -
-
- - -
-
- -
-
-โœ… tests/test_io_utils.py::test_write_file - -- **Status:** โœ… passed -- **Duration:** 0.000270 s +- **Status:** โœ… `passed` +- **Duration:** `0.000280` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0004720669239759445 +`0.00044836197048425674` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -727,23 +747,23 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0002700689947232604 +`0.00027969491202384233` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -752,58 +772,168 @@ passed ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.000135079026222229 +`0.0001451439457014203` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
+
+
+ + +
+
+ +
+
+๐Ÿ”ง Function: `test_write_file_readonly` + +
+
+โœ… #9 + +- **Status:** โœ… `passed` +- **Duration:** `0.000876` s + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.0006421370198950171` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Call Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.0008758510230109096` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Teardown Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.0001534509938210249` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ + +
+
+ +
-
-โŒ tests/test_io_utils.py::test_cause_io_error +
+๐Ÿ“ test_math_utils.py -- **Status:** โŒ failed -- **Duration:** 0.000153 s +
+
+๐Ÿ”ง Function: `test_addition_pass` + +
+
+โœ… #13 parameters: [2-2-4] + +- **Status:** โœ… `passed` +- **Duration:** `0.000144` s +- **Parameters:** `2-2-4` ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011347199324518442 +`0.00028281298000365496` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -812,56 +942,1198 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00015304307453334332 +`0.0001441900385543704` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`passed` ``` +
+
+ + +### ๐Ÿ”ง Teardown Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00013924099039286375` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
+
+โœ… #14 parameters: [1-5-6] + +- **Status:** โœ… `passed` +- **Duration:** `0.000147` s +- **Parameters:** `1-5-6` + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00024184701032936573` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Call Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.000147148035466671` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Teardown Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00013544689863920212` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
+
+โœ… #15 parameters: [3-4-7] + +- **Status:** โœ… `passed` +- **Duration:** `0.000145` s +- **Parameters:** `3-4-7` + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00024229101836681366` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Call Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00014468992594629526` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Teardown Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.0001321269664913416` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
+
+โœ… #16 parameters: [3-5-8] + +- **Status:** โœ… `passed` +- **Duration:** `0.000139` s +- **Parameters:** `3-5-8` + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.0002471000188961625` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Call Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00013938697520643473` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Teardown Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00013254594523459673` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
+
+โœ… #17 parameters: [3-6-9] + +- **Status:** โœ… `passed` +- **Duration:** `0.000132` s +- **Parameters:** `3-6-9` + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00023106997832655907` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Call Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00013192207552492619` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Teardown Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.0001359529560431838` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
+
+๐Ÿ”ง Function: `test_addition_pass_id` + +
+
+โœ… #18 parameters: [a=2,b=2,expected=4] + +- **Status:** โœ… `passed` +- **Duration:** `0.000126` s +- **Parameters:** `a=2,b=2,expected=4` + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.000247549032792449` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Call Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.0001261300640180707` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Teardown Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.0001300550065934658` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
+
+โœ… #19 parameters: [a=1,b=5,expected=6] + +- **Status:** โœ… `passed` +- **Duration:** `0.000122` s +- **Parameters:** `a=1,b=5,expected=6` + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00023221701849251986` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Call Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.0001222280552610755` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Teardown Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00013548997230827808` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
+
+โœ… #20 parameters: [a=3,b=4,expected=7] + +- **Status:** โœ… `passed` +- **Duration:** `0.000126` s +- **Parameters:** `a=3,b=4,expected=7` + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00023831601720303297` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Call Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00012567290104925632` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Teardown Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.000128862913697958` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+๐Ÿ“ test_string_utils.py + +
+
+๐Ÿ”ง Function: `test_uppercase_normal` + +
+
+โœ… #41 + +- **Status:** โœ… `passed` +- **Duration:** `0.000140` s + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00012748991139233112` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Call Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.0001398259773850441` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Teardown Phase + +
+
+๐Ÿ“Œ Duration + +``` +`9.956699796020985e-05` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ + +
+
+ +
+
+๐Ÿ”ง Function: `test_reverse_string` + +
+
+โœ… #43 + +- **Status:** โœ… `passed` +- **Duration:** `0.000139` s + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00011791300494223833` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Call Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00013869500253349543` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Teardown Phase + +
+
+๐Ÿ“Œ Duration + +``` +`9.981193579733372e-05` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ + +
+
+ +
+
+๐Ÿ”ง Function: `test_warning_emit` + +
+
+โœ… #44 + +- **Status:** โœ… `passed` +- **Duration:** `0.000141` s + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00010396703146398067` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Call Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.0001409259857609868` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Teardown Phase + +
+
+๐Ÿ“Œ Duration + +``` +`9.429501369595528e-05` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ + +
+
+ +
+
+๐Ÿ”ง Function: `test_import_warning` + +
+
+โœ… #47 + +- **Status:** โœ… `passed` +- **Duration:** `0.000131` s + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00011478597298264503` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Call Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.0001309820218011737` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Teardown Phase + +
+
+๐Ÿ“Œ Duration + +``` +`9.837793186306953e-05` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ + +
+
+ +
+
+๐Ÿ”ง Function: `test_keyboard_interrupt_direct` + +
+
+โœ… #49 + +- **Status:** โœ… `passed` +- **Duration**: `None` + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00011611799709498882` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+โŒ Failed (31) + +
+
+๐Ÿ“ test_io_utils.py + +
+
+๐Ÿ”ง Function: `test_cause_io_error` + +
+
+โŒ #3 + +- **Status:** โŒ `failed` +- **Duration:** `0.000155` s + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00014490890316665173` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Call Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.0001545820850878954` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`failed` +``` + +
+
+ +
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/functions/io_utils.py, lineno: 10, message: OSError: Forced IO Error for testing +`path: `/workspace/tligui_y/slic/functions/io_utils.py``, `lineno: `10``, `message: `OSError: Forced IO Error for testing`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_io_utils.py, lineno: 25, message: None, path: functions/io_utils.py, lineno: 10, message: OSError +`path: `tests/test_io_utils.py``, `lineno: `25``, `message: `None``, `path: `functions/io_utils.py``, `lineno: `10``, `message: `OSError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_cause_io_error(): +`def test_cause_io_error(): # Raises manual IOError to simulate IO failure > cause_io_error() @@ -872,7 +2144,7 @@ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > raise IOError("Forced IO Error for testing") E OSError: Forced IO Error for testing -functions/io_utils.py:10: OSError +functions/io_utils.py:10: OSError` ```
@@ -881,58 +2153,66 @@ functions/io_utils.py:10: OSError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00014019408263266087 +`0.00013731000944972038` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_file_not_found` -``` -passed -``` +
+
+โŒ #4 -
-
- - -
-
- -
-
-โŒ tests/test_io_utils.py::test_file_not_found - -- **Status:** โŒ failed -- **Duration:** 0.000173 s +- **Status:** โŒ `failed` +- **Duration:** `0.000188` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.000117430929094553 +`0.00011682894546538591` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -941,56 +2221,56 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00017253996338695288 +`0.00018801505211740732` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/functions/io_utils.py, lineno: 2, message: FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.file' +`path: `/workspace/tligui_y/slic/functions/io_utils.py``, `lineno: `2``, `message: `FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.file'`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_io_utils.py, lineno: 29, message: None, path: functions/io_utils.py, lineno: 2, message: FileNotFoundError +`path: `tests/test_io_utils.py``, `lineno: `29``, `message: `None``, `path: `functions/io_utils.py``, `lineno: `2``, `message: `FileNotFoundError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_file_not_found(): +`def test_file_not_found(): # Reading non-existing file raises FileNotFoundError > read_file("nonexistent.file") @@ -1003,7 +2283,7 @@ path = 'nonexistent.file' > with open(path, "r", encoding="utf-8") as f: E FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.file' -functions/io_utils.py:2: FileNotFoundError +functions/io_utils.py:2: FileNotFoundError` ```
@@ -1012,58 +2292,66 @@ functions/io_utils.py:2: FileNotFoundError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001373999984934926 +`0.00013748998753726482` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_permission_error` -``` -passed -``` +
+
+โŒ #5 -
-
- - -
-
- -
-
-โŒ tests/test_io_utils.py::test_permission_error - -- **Status:** โŒ failed -- **Duration:** 0.000171 s +- **Status:** โŒ `failed` +- **Duration:** `0.000169` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001940650399774313 +`0.000191607978194952` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -1072,56 +2360,56 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00017068698070943356 +`0.0001693369122222066` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_io_utils.py, lineno: 34, message: PermissionError: Permission denied +`path: `/workspace/tligui_y/slic/tests/test_io_utils.py``, `lineno: `34``, `message: `PermissionError: Permission denied`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_io_utils.py, lineno: 36, message: None, path: functions/io_utils.py, lineno: 2, message: in read_file, path: tests/test_io_utils.py, lineno: 34, message: PermissionError +`path: `tests/test_io_utils.py``, `lineno: `36``, `message: `None``, `path: `functions/io_utils.py``, `lineno: `2``, `message: `in read_file``, `path: `tests/test_io_utils.py``, `lineno: `34``, `message: `PermissionError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7ff6c63f1130> +`monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6cff624fd0> def test_permission_error(monkeypatch): # Patch open to raise PermissionError simulating access denial @@ -1142,7 +2430,7 @@ args = ('anyfile.txt', 'r'), kwargs = {'encoding': 'utf-8'} > raise PermissionError("Permission denied") E PermissionError: Permission denied -tests/test_io_utils.py:34: PermissionError +tests/test_io_utils.py:34: PermissionError` ```
@@ -1151,58 +2439,66 @@ tests/test_io_utils.py:34: PermissionError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001622430281713605 +`0.0001589729217812419` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_mock_open_error` -``` -passed -``` +
+
+โŒ #6 -
-
- - -
-
- -
-
-โŒ tests/test_io_utils.py::test_mock_open_error - -- **Status:** โŒ failed -- **Duration:** 0.003158 s +- **Status:** โŒ `failed` +- **Duration:** `0.003170` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001818550517782569 +`0.0001828729873523116` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -1211,56 +2507,56 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.003158198087476194 +`0.003169858013279736` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/unittest/mock.py, lineno: 1140, message: OSError: Mocked IOError +`path: `/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/unittest/mock.py``, `lineno: `1140``, `message: `OSError: Mocked IOError`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_io_utils.py, lineno: 43, message: None, path: .pixi/envs/default/lib/python3.8/unittest/mock.py, lineno: 1081, message: in __call__, path: .pixi/envs/default/lib/python3.8/unittest/mock.py, lineno: 1085, message: in _mock_call, path: .pixi/envs/default/lib/python3.8/unittest/mock.py, lineno: 1140, message: OSError +`path: `tests/test_io_utils.py``, `lineno: `43``, `message: `None``, `path: `.pixi/envs/default/lib/python3.8/unittest/mock.py``, `lineno: `1081``, `message: `in __call__``, `path: `.pixi/envs/default/lib/python3.8/unittest/mock.py``, `lineno: `1085``, `message: `in _mock_call``, `path: `.pixi/envs/default/lib/python3.8/unittest/mock.py``, `lineno: `1140``, `message: `OSError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7ff6c63ef6d0> +`monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6cffb449a0> def test_mock_open_error(monkeypatch): # Mock open() to raise IOError simulating read error @@ -1277,7 +2573,7 @@ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ return self._execute_mock_call(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = +self = args = ('file.txt', 'r'), kwargs = {}, effect = OSError('Mocked IOError') def _execute_mock_call(self, /, *args, **kwargs): @@ -1290,7 +2586,7 @@ args = ('file.txt', 'r'), kwargs = {}, effect = OSError('Mocked IOError') > raise effect E OSError: Mocked IOError -.pixi/envs/default/lib/python3.8/unittest/mock.py:1140: OSError +.pixi/envs/default/lib/python3.8/unittest/mock.py:1140: OSError` ```
@@ -1299,58 +2595,66 @@ E OSError: Mocked IOError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00024307402782142162 +`0.00027472502551972866` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_file_handle_closed_error` -``` -passed -``` +
+
+โŒ #7 -
-
- - -
-
- -
-
-โŒ tests/test_io_utils.py::test_file_handle_closed_error - -- **Status:** โŒ failed -- **Duration:** 0.000167 s +- **Status:** โŒ `failed` +- **Duration:** `0.000172` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013458810281008482 +`0.00013450393453240395` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -1359,63 +2663,63 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00016690301708877087 +`0.00017155299428850412` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_io_utils.py, lineno: 50, message: ValueError: I/O operation on closed file +`path: `/workspace/tligui_y/slic/tests/test_io_utils.py``, `lineno: `50``, `message: `ValueError: I/O operation on closed file`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_io_utils.py, lineno: 50, message: ValueError +`path: `tests/test_io_utils.py``, `lineno: `50``, `message: `ValueError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_file_handle_closed_error(): +`def test_file_handle_closed_error(): # Accessing closed file raises ValueError f = io.StringIO("content") f.close() > f.read() E ValueError: I/O operation on closed file -tests/test_io_utils.py:50: ValueError +tests/test_io_utils.py:50: ValueError` ```
@@ -1424,58 +2728,66 @@ tests/test_io_utils.py:50: ValueError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00016241904813796282 +`0.00016083300579339266` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_os_error` -``` -passed -``` +
+
+โŒ #8 -
-
- - -
-
- -
-
-โŒ tests/test_io_utils.py::test_os_error - -- **Status:** โŒ failed -- **Duration:** 0.000184 s +- **Status:** โŒ `failed` +- **Duration:** `0.000182` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0002223299816250801 +`0.00022398901637643576` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -1484,56 +2796,56 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00018376403022557497 +`0.00018240895587950945` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_io_utils.py, lineno: 55, message: OSError: Simulated OSError +`path: `/workspace/tligui_y/slic/tests/test_io_utils.py``, `lineno: `55``, `message: `OSError: Simulated OSError`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_io_utils.py, lineno: 57, message: None, path: tests/test_io_utils.py, lineno: 55, message: OSError +`path: `tests/test_io_utils.py``, `lineno: `57``, `message: `None``, `path: `tests/test_io_utils.py``, `lineno: `55``, `message: `OSError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7ff6c9ec4e80> +`monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6cff624d30> def test_os_error(monkeypatch): # Patch os.remove to raise OSError simulating filesystem error @@ -1551,7 +2863,7 @@ path = 'file.txt' > raise OSError("Simulated OSError") E OSError: Simulated OSError -tests/test_io_utils.py:55: OSError +tests/test_io_utils.py:55: OSError` ```
@@ -1560,58 +2872,66 @@ tests/test_io_utils.py:55: OSError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00016724900342524052 +`0.00016778998542577028` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_file_not_found_error` -``` -passed -``` +
+
+โŒ #10 -
-
- - -
-
- -
-
-โœ… tests/test_io_utils.py::test_write_file_readonly - -- **Status:** โœ… passed -- **Duration:** 0.000942 s +- **Status:** โŒ `failed` +- **Duration:** `0.000164` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0005880269454792142 +`0.00011349795386195183` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -1620,146 +2940,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0009417070541530848 +`0.00016405293717980385` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`failed` ```
- -### ๐Ÿ”ง Teardown Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00013556901831179857 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -
-
- -
-
-โŒ tests/test_io_utils.py::test_file_not_found_error - -- **Status:** โŒ failed -- **Duration:** 0.000163 s - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00011822802480310202 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Call Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.0001631779596209526 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -failed -``` - -
-
- -
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_io_utils.py, lineno: 69, message: FileNotFoundError: [Errno 2] No such file or directory: 'no_such_file.txt' +`path: `/workspace/tligui_y/slic/tests/test_io_utils.py``, `lineno: `69``, `message: `FileNotFoundError: [Errno 2] No such file or directory: 'no_such_file.txt'`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_io_utils.py, lineno: 69, message: FileNotFoundError +`path: `tests/test_io_utils.py``, `lineno: `69``, `message: `FileNotFoundError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_file_not_found_error(): +`def test_file_not_found_error(): # Raises FileNotFoundError when opening a non-existent file > open("no_such_file.txt", "r") E FileNotFoundError: [Errno 2] No such file or directory: 'no_such_file.txt' -tests/test_io_utils.py:69: FileNotFoundError +tests/test_io_utils.py:69: FileNotFoundError` ```
@@ -1768,58 +3003,74 @@ tests/test_io_utils.py:69: FileNotFoundError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00014812895096838474 +`0.0001349730882793665` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
+
+
+ + +
+
+ +
-
-โŒ tests/test_math_utils.py::test_broken +
+๐Ÿ“ test_math_utils.py -- **Status:** โŒ failed -- **Duration:** 0.000156 s +
+
+๐Ÿ”ง Function: `test_broken` + +
+
+โŒ #11 + +- **Status:** โŒ `failed` +- **Duration:** `0.000154` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00012789503671228886 +`0.00012546998914331198` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -1828,61 +3079,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00015646102838218212 +`0.00015429500490427017` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 16, message: NameError: name 'want_the_test_to_fail' is not defined +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `16``, `message: `NameError: name 'want_the_test_to_fail' is not defined`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 16, message: NameError +`path: `tests/test_math_utils.py``, `lineno: `16``, `message: `NameError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_broken(): +`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:16: NameError +tests/test_math_utils.py:16: NameError` ```
@@ -1891,58 +3142,66 @@ tests/test_math_utils.py:16: NameError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013352197129279375 +`0.00013370299711823463` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_call_missing_function` -``` -passed -``` +
+
+โŒ #12 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_call_missing_function - -- **Status:** โŒ failed -- **Duration:** 0.000154 s +- **Status:** โŒ `failed` +- **Duration:** `0.000153` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011680799070745707 +`0.0001275429967790842` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -1951,61 +3210,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00015442899893969297 +`0.00015266297850757837` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 20, message: AttributeError: module 'functions.math_utils' has no attribute 'non_existent_function' +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `20``, `message: `AttributeError: module 'functions.math_utils' has no attribute 'non_existent_function'`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 20, message: AttributeError +`path: `tests/test_math_utils.py``, `lineno: `20``, `message: `AttributeError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_call_missing_function(): +`def test_call_missing_function(): # Accessing a missing function attribute raises AttributeError > getattr(math_utils, "non_existent_function")() E AttributeError: module 'functions.math_utils' has no attribute 'non_existent_function' -tests/test_math_utils.py:20: AttributeError +tests/test_math_utils.py:20: AttributeError` ```
@@ -2014,59 +3273,66 @@ tests/test_math_utils.py:20: AttributeError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013317703269422054 +`0.00013592198956757784` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_addition_fail` -``` -passed -``` +
+
+โŒ #21 -
-
- - -
-
- -
-
-โœ… tests/test_math_utils.py::test_addition_pass[2-2-4] parameters: [2-2-4] - -- **Status:** โœ… passed -- **Duration:** 0.000146 s -- **Parameters:** 2-2-4 +- **Status:** โŒ `failed` +- **Duration:** `0.000432` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00027643702924251556 +`0.00010635401122272015` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -2075,750 +3341,63 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00014571601059287786 +`0.0004323599860072136` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`failed` ```
- -### ๐Ÿ”ง Teardown Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00015687302220612764 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -
-
- -
-
-โœ… tests/test_math_utils.py::test_addition_pass[1-5-6] parameters: [1-5-6] - -- **Status:** โœ… passed -- **Duration:** 0.000136 s -- **Parameters:** 1-5-6 - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00024168798699975014 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Call Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00013632106129080057 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Teardown Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00014831998851150274 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -
-
- -
-
-โœ… tests/test_math_utils.py::test_addition_pass[3-4-7] parameters: [3-4-7] - -- **Status:** โœ… passed -- **Duration:** 0.000125 s -- **Parameters:** 3-4-7 - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00023875199258327484 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Call Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00012527499347925186 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Teardown Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00014107697643339634 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -
-
- -
-
-โœ… tests/test_math_utils.py::test_addition_pass[3-5-8] parameters: [3-5-8] - -- **Status:** โœ… passed -- **Duration:** 0.000127 s -- **Parameters:** 3-5-8 - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00024324993137270212 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Call Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00012686802074313164 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Teardown Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00014647003263235092 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -
-
- -
-
-โœ… tests/test_math_utils.py::test_addition_pass[3-6-9] parameters: [3-6-9] - -- **Status:** โœ… passed -- **Duration:** 0.000127 s -- **Parameters:** 3-6-9 - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.0002302640350535512 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Call Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.0001269340282306075 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Teardown Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00014248199295252562 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -
-
- -
-
-โœ… tests/test_math_utils.py::test_addition_pass_id[a=2,b=2,expected=4] parameters: [a=2,b=2,expected=4] - -- **Status:** โœ… passed -- **Duration:** 0.000126 s -- **Parameters:** a=2,b=2,expected=4 - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00023897993378341198 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Call Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00012616103049367666 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Teardown Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00013914401642978191 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -
-
- -
-
-โœ… tests/test_math_utils.py::test_addition_pass_id[a=1,b=5,expected=6] parameters: [a=1,b=5,expected=6] - -- **Status:** โœ… passed -- **Duration:** 0.000126 s -- **Parameters:** a=1,b=5,expected=6 - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00022912200074642897 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Call Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00012563506606966257 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Teardown Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.0001306899357587099 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -
-
- -
-
-โœ… tests/test_math_utils.py::test_addition_pass_id[a=3,b=4,expected=7] parameters: [a=3,b=4,expected=7] - -- **Status:** โœ… passed -- **Duration:** 0.000122 s -- **Parameters:** a=3,b=4,expected=7 - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00023672194220125675 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Call Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00012153596617281437 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Teardown Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00012998003512620926 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_addition_fail - -- **Status:** โŒ failed -- **Duration:** 0.000400 s - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00010308809578418732 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Call Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.0003996839514002204 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -failed -``` - -
-
- -
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 51, message: assert 4 == 5 - + where 4 = addition(2, 2) +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `51``, `message: `assert 4 == 5 + + where 4 = addition(2, 2)`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 51, message: AssertionError +`path: `tests/test_math_utils.py``, `lineno: `51``, `message: `AssertionError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_addition_fail(): +`def test_addition_fail(): # Assertion failure: expected incorrect result > assert addition(2, 2) == 5 E assert 4 == 5 E + where 4 = addition(2, 2) -tests/test_math_utils.py:51: AssertionError +tests/test_math_utils.py:51: AssertionError` ```
@@ -2827,58 +3406,66 @@ tests/test_math_utils.py:51: AssertionError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013518997002393007 +`0.00013238296378403902` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_division_zero` -``` -passed -``` +
+
+โŒ #22 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_division_zero - -- **Status:** โŒ failed -- **Duration:** 0.000151 s +- **Status:** โŒ `failed` +- **Duration:** `0.000152` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011552195064723492 +`0.00011896691285073757` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -2887,56 +3474,56 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.000150986947119236 +`0.00015181303024291992` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/functions/math_utils.py, lineno: 5, message: ZeroDivisionError: division by zero +`path: `/workspace/tligui_y/slic/functions/math_utils.py``, `lineno: `5``, `message: `ZeroDivisionError: division by zero`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 55, message: None, path: functions/math_utils.py, lineno: 5, message: ZeroDivisionError +`path: `tests/test_math_utils.py``, `lineno: `55``, `message: `None``, `path: `functions/math_utils.py``, `lineno: `5``, `message: `ZeroDivisionError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_division_zero(): +`def test_division_zero(): # Will raise ZeroDivisionError if not handled in division > division(1, 0) @@ -2949,7 +3536,7 @@ a = 1, b = 0 > return a / b E ZeroDivisionError: division by zero -functions/math_utils.py:5: ZeroDivisionError +functions/math_utils.py:5: ZeroDivisionError` ```
@@ -2958,58 +3545,66 @@ functions/math_utils.py:5: ZeroDivisionError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001338679576292634 +`0.00013562897220253944` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_runtime_error` -``` -passed -``` +
+
+โŒ #24 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_multiply_xfail - -- **Status:** โŒ xfailed -- **Duration:** 0.000267 s +- **Status:** โŒ `failed` +- **Duration:** `0.000146` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013065896928310394 +`0.00011789693962782621` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -3018,187 +3613,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0002665610518306494 +`0.00014603696763515472` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -skipped +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 60, message: assert 4 == 5 - + where 4 = multiply(2, 2) +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `64``, `message: `RuntimeError: Forced runtime error`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 60, message: AssertionError +`path: `tests/test_math_utils.py``, `lineno: `64``, `message: `RuntimeError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -@pytest.mark.xfail(reason="Expected failure") - def test_multiply_xfail(): - # Expected fail test (xfail): incorrect expected multiply result -> assert multiply(2, 2) == 5 -E assert 4 == 5 -E + where 4 = multiply(2, 2) - -tests/test_math_utils.py:60: AssertionError -``` - -
-
- - -### ๐Ÿ”ง Teardown Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00013554701581597328 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_runtime_error - -- **Status:** โŒ failed -- **Duration:** 0.000146 s - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00012038601562380791 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Call Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00014575396198779345 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -failed -``` - -
-
- -
-
-๐Ÿ“Œ Crash - -``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 64, message: RuntimeError: Forced runtime error -``` - -
-
- -
-
-๐Ÿ“Œ Traceback - -``` -path: tests/test_math_utils.py, lineno: 64, message: RuntimeError -``` - -
-
- -
-
-๐Ÿ“Œ Longrepr - -``` -def test_runtime_error(): +`def test_runtime_error(): # Test raises an uncaught RuntimeError > raise RuntimeError("Forced runtime error") E RuntimeError: Forced runtime error -tests/test_math_utils.py:64: RuntimeError +tests/test_math_utils.py:64: RuntimeError` ```
@@ -3207,58 +3676,66 @@ tests/test_math_utils.py:64: RuntimeError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013542501255869865 +`0.0001329140504822135` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_memory_error` -``` -passed -``` +
+
+โŒ #25 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_memory_error - -- **Status:** โŒ failed -- **Duration:** 0.000154 s +- **Status:** โŒ `failed` +- **Duration:** `0.000148` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011519494000822306 +`0.00013306003529578447` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -3267,61 +3744,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00015389197506010532 +`0.00014796701725572348` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 68, message: MemoryError: Simulated memory error +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `68``, `message: `MemoryError: Simulated memory error`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 68, message: MemoryError +`path: `tests/test_math_utils.py``, `lineno: `68``, `message: `MemoryError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_memory_error(): +`def test_memory_error(): # Manually raise MemoryError to simulate out-of-memory condition > raise MemoryError("Simulated memory error") E MemoryError: Simulated memory error -tests/test_math_utils.py:68: MemoryError +tests/test_math_utils.py:68: MemoryError` ```
@@ -3330,58 +3807,66 @@ tests/test_math_utils.py:68: MemoryError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001350509701296687 +`0.00014562008436769247` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_timeout_error` -``` -passed -``` +
+
+โŒ #26 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_timeout_error - -- **Status:** โŒ failed -- **Duration:** 0.000145 s +- **Status:** โŒ `failed` +- **Duration:** `0.000152` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013417599257081747 +`0.00011535908561199903` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -3390,61 +3875,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00014491192996501923 +`0.00015190406702458858` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 72, message: TimeoutError: Simulated timeout error +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `72``, `message: `TimeoutError: Simulated timeout error`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 72, message: TimeoutError +`path: `tests/test_math_utils.py``, `lineno: `72``, `message: `TimeoutError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_timeout_error(): +`def test_timeout_error(): # Manually raise TimeoutError simulating timeout conditions > raise TimeoutError("Simulated timeout error") E TimeoutError: Simulated timeout error -tests/test_math_utils.py:72: TimeoutError +tests/test_math_utils.py:72: TimeoutError` ```
@@ -3453,58 +3938,66 @@ tests/test_math_utils.py:72: TimeoutError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00014436698984354734 +`0.00013192696496844292` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_recursion_error` -``` -passed -``` +
+
+โŒ #27 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_recursion_error - -- **Status:** โŒ failed -- **Duration:** 0.000652 s +- **Status:** โŒ `failed` +- **Duration:** `0.000660` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011911196634173393 +`0.00012813997454941273` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -3513,56 +4006,56 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0006517389556393027 +`0.0006597720785066485` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 77, message: RecursionError: maximum recursion depth exceeded +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `77``, `message: `RecursionError: maximum recursion depth exceeded`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 78, message: None, path: tests/test_math_utils.py, lineno: 77, message: in recursive, path: tests/test_math_utils.py, lineno: 77, message: in recursive +`path: `tests/test_math_utils.py``, `lineno: `78``, `message: `None``, `path: `tests/test_math_utils.py``, `lineno: `77``, `message: `in recursive``, `path: `tests/test_math_utils.py``, `lineno: `77``, `message: `in recursive`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_recursion_error(): +`def test_recursion_error(): # Infinite recursion triggers RecursionError def recursive(): return recursive() @@ -3575,7 +4068,7 @@ tests/test_math_utils.py:77: in recursive tests/test_math_utils.py:77: in recursive return recursive() E RecursionError: maximum recursion depth exceeded -!!! Recursion detected (same locals & position) +!!! Recursion detected (same locals & position)` ```
@@ -3584,58 +4077,66 @@ E RecursionError: maximum recursion depth exceeded ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00014002295210957527 +`0.00013340194709599018` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_floating_point_error` -``` -passed -``` +
+
+โŒ #28 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_floating_point_error - -- **Status:** โŒ failed -- **Duration:** 0.000146 s +- **Status:** โŒ `failed` +- **Duration:** `0.000145` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011622800957411528 +`0.00011590204667299986` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -3644,61 +4145,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00014568702317774296 +`0.00014527898747473955` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 82, message: FloatingPointError: Simulated floating point error +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `82``, `message: `FloatingPointError: Simulated floating point error`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 82, message: FloatingPointError +`path: `tests/test_math_utils.py``, `lineno: `82``, `message: `FloatingPointError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_floating_point_error(): +`def test_floating_point_error(): # Manually raise FloatingPointError > raise FloatingPointError("Simulated floating point error") E FloatingPointError: Simulated floating point error -tests/test_math_utils.py:82: FloatingPointError +tests/test_math_utils.py:82: FloatingPointError` ```
@@ -3707,58 +4208,66 @@ tests/test_math_utils.py:82: FloatingPointError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013644399587064981 +`0.0001348569057881832` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_floating_point_overflow` -``` -passed -``` +
+
+โŒ #29 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_floating_point_overflow - -- **Status:** โŒ failed -- **Duration:** 0.000156 s +- **Status:** โŒ `failed` +- **Duration:** `0.000161` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00012112304102629423 +`0.00011603289749473333` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -3767,61 +4276,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00015577790327370167 +`0.0001613060012459755` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 86, message: OverflowError: math range error +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `86``, `message: `OverflowError: math range error`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 86, message: OverflowError +`path: `tests/test_math_utils.py``, `lineno: `86``, `message: `OverflowError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_floating_point_overflow(): +`def test_floating_point_overflow(): # Exponential overflow triggers OverflowError > math.exp(1000) E OverflowError: math range error -tests/test_math_utils.py:86: OverflowError +tests/test_math_utils.py:86: OverflowError` ```
@@ -3830,58 +4339,66 @@ tests/test_math_utils.py:86: OverflowError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013285595923662186 +`0.00013549497816711664` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_value_error` -``` -passed -``` +
+
+โŒ #30 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_value_error - -- **Status:** โŒ failed -- **Duration:** 0.000152 s +- **Status:** โŒ `failed` +- **Duration:** `0.000151` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011632707901299 +`0.00011780101340264082` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -3890,61 +4407,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00015165505465120077 +`0.00015149498358368874` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 90, message: ValueError: invalid literal for int() with base 10: 'invalid' +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `90``, `message: `ValueError: invalid literal for int() with base 10: 'invalid'`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 90, message: ValueError +`path: `tests/test_math_utils.py``, `lineno: `90``, `message: `ValueError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_value_error(): +`def test_value_error(): # ValueError on invalid integer conversion > int("invalid") E ValueError: invalid literal for int() with base 10: 'invalid' -tests/test_math_utils.py:90: ValueError +tests/test_math_utils.py:90: ValueError` ```
@@ -3953,58 +4470,66 @@ tests/test_math_utils.py:90: ValueError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013385002966970205 +`0.00013617007061839104` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_wrong_argument_error` -``` -passed -``` +
+
+โŒ #31 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_wrong_argument_error - -- **Status:** โŒ failed -- **Duration:** 0.000147 s +- **Status:** โŒ `failed` +- **Duration:** `0.000145` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00012029602658003569 +`0.00011571100912988186` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -4013,61 +4538,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00014673999976366758 +`0.0001447480171918869` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 94, message: TypeError: 'int' object is not iterable +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `94``, `message: `TypeError: 'int' object is not iterable`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 94, message: TypeError +`path: `tests/test_math_utils.py``, `lineno: `94``, `message: `TypeError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_wrong_argument_error(): +`def test_wrong_argument_error(): # TypeError when passing wrong argument type to sum > sum(5) E TypeError: 'int' object is not iterable -tests/test_math_utils.py:94: TypeError +tests/test_math_utils.py:94: TypeError` ```
@@ -4076,58 +4601,66 @@ tests/test_math_utils.py:94: TypeError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001338199945166707 +`0.00013240298721939325` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_unhandled_exception` -``` -passed -``` +
+
+โŒ #32 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_unhandled_exception - -- **Status:** โŒ failed -- **Duration:** 0.000146 s +- **Status:** โŒ `failed` +- **Duration:** `0.000147` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00012902705930173397 +`0.00011865992564707994` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -4136,61 +4669,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001464060042053461 +`0.00014691695105284452` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 98, message: Exception: Generic unhandled exception +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `98``, `message: `Exception: Generic unhandled exception`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 98, message: Exception +`path: `tests/test_math_utils.py``, `lineno: `98``, `message: `Exception`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_unhandled_exception(): +`def test_unhandled_exception(): # Raises generic unhandled Exception > raise Exception("Generic unhandled exception") E Exception: Generic unhandled exception -tests/test_math_utils.py:98: Exception +tests/test_math_utils.py:98: Exception` ```
@@ -4199,58 +4732,66 @@ tests/test_math_utils.py:98: Exception ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001338130095973611 +`0.00013234897051006556` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_custom_error` -``` -passed -``` +
+
+โŒ #33 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_custom_error - -- **Status:** โŒ failed -- **Duration:** 0.000148 s +- **Status:** โŒ `failed` +- **Duration:** `0.000153` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00012281897943466902 +`0.00011655304115265608` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -4259,61 +4800,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001477160258218646 +`0.00015300302766263485` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 102, message: test_math_utils.CustomError: Custom error simulation +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `102``, `message: `test_math_utils.CustomError: Custom error simulation`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 102, message: CustomError +`path: `tests/test_math_utils.py``, `lineno: `102``, `message: `CustomError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_custom_error(): +`def test_custom_error(): # Raises user-defined CustomError exception > raise CustomError("Custom error simulation") E test_math_utils.CustomError: Custom error simulation -tests/test_math_utils.py:102: CustomError +tests/test_math_utils.py:102: CustomError` ```
@@ -4322,58 +4863,66 @@ tests/test_math_utils.py:102: CustomError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013278902042657137 +`0.00013085093814879656` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_stop_iteration_direct` -``` -passed -``` +
+
+โŒ #34 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_stop_iteration_direct - -- **Status:** โŒ failed -- **Duration:** 0.000149 s +- **Status:** โŒ `failed` +- **Duration:** `0.000145` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011577096302062273 +`0.00011338107287883759` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -4382,56 +4931,56 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00014926597941666842 +`0.00014540005940943956` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`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 +`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: None, 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 +`path: `.pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py``, `lineno: `341``, `message: `None``, `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(): +`def test_stop_iteration_direct(): # Directly raise StopIteration exception > raise StopIteration() E StopIteration @@ -4441,7 +4990,7 @@ tests/test_math_utils.py:106: StopIteration The above exception was the direct cause of the following exception: cls = -func = . at 0x7ff6c63f61f0> +func = . at 0x7f6d022da9d0> when = 'call' reraise = (, ) @@ -4500,7 +5049,7 @@ item = > return (yield) E RuntimeError: generator raised StopIteration -.pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py:880: RuntimeError +.pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py:880: RuntimeError` ```
@@ -4509,58 +5058,66 @@ E RuntimeError: generator raised StopIteration ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00015203200746327639 +`0.00015131698455661535` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_generator_exit_direct` -``` -passed -``` +
+
+โŒ #35 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_generator_exit_direct - -- **Status:** โŒ failed -- **Duration:** 0.000146 s +- **Status:** โŒ `failed` +- **Duration:** `0.000147` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00012414297088980675 +`0.00013656506780534983` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -4569,61 +5126,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00014574103988707066 +`0.00014742801431566477` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 110, message: GeneratorExit +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `110``, `message: `GeneratorExit`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 110, message: GeneratorExit +`path: `tests/test_math_utils.py``, `lineno: `110``, `message: `GeneratorExit`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_generator_exit_direct(): +`def test_generator_exit_direct(): # Directly raise GeneratorExit exception > raise GeneratorExit() E GeneratorExit -tests/test_math_utils.py:110: GeneratorExit +tests/test_math_utils.py:110: GeneratorExit` ```
@@ -4632,58 +5189,66 @@ tests/test_math_utils.py:110: GeneratorExit ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013755005784332752 +`0.0001604489516466856` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_malformed_code` -``` -passed -``` +
+
+โŒ #36 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_malformed_code - -- **Status:** โŒ failed -- **Duration:** 0.000159 s +- **Status:** โŒ `failed` +- **Duration:** `0.000153` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011866807471960783 +`0.00011827400885522366` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -4692,59 +5257,59 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00015897303819656372 +`0.00015343993436545134` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 114, message: File "", line 1 +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `114``, `message: ` File "", line 1 def bad(: ^ -SyntaxError: invalid syntax +SyntaxError: invalid syntax`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 114, message: SyntaxError +`path: `tests/test_math_utils.py``, `lineno: `114``, `message: `SyntaxError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_malformed_code(): +`def test_malformed_code(): # SyntaxError when executing malformed Python code > exec("def bad(:\n pass") E File "", line 1 @@ -4752,7 +5317,7 @@ E def bad(: E ^ E SyntaxError: invalid syntax -tests/test_math_utils.py:114: SyntaxError +tests/test_math_utils.py:114: SyntaxError` ```
@@ -4761,58 +5326,66 @@ tests/test_math_utils.py:114: SyntaxError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001347319921478629 +`0.00013169797603040934` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_sys_exit` -``` -passed -``` +
+
+โŒ #37 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_sys_exit - -- **Status:** โŒ failed -- **Duration:** 0.000149 s +- **Status:** โŒ `failed` +- **Duration:** `0.000158` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011496199294924736 +`0.00012201897334307432` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -4821,61 +5394,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00014864804688841105 +`0.00015799805987626314` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 118, message: SystemExit: 1 +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `118``, `message: `SystemExit: 1`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 118, message: SystemExit +`path: `tests/test_math_utils.py``, `lineno: `118``, `message: `SystemExit`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_sys_exit(): +`def test_sys_exit(): # Simulate SystemExit via sys.exit > sys.exit(1) E SystemExit: 1 -tests/test_math_utils.py:118: SystemExit +tests/test_math_utils.py:118: SystemExit` ```
@@ -4884,58 +5457,66 @@ tests/test_math_utils.py:118: SystemExit ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013401696924120188 +`0.00013454293366521597` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_broken_function` -``` -passed -``` +
+
+โŒ #38 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_broken_function - -- **Status:** โŒ failed -- **Duration:** 0.000159 s +- **Status:** โŒ `failed` +- **Duration:** `0.000147` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011561193969100714 +`0.00011985201854258776` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -4944,56 +5525,56 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001585610443726182 +`0.00014675594866275787` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 123, message: TypeError: Broken function +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `123``, `message: `TypeError: Broken function`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 124, message: None, path: tests/test_math_utils.py, lineno: 123, message: TypeError +`path: `tests/test_math_utils.py``, `lineno: `124``, `message: `None``, `path: `tests/test_math_utils.py``, `lineno: `123``, `message: `TypeError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_broken_function(): +`def test_broken_function(): # Simulate broken function raising TypeError def broken_func(*args, **kwargs): raise TypeError("Broken function") @@ -5008,7 +5589,7 @@ args = (), kwargs = {} > raise TypeError("Broken function") E TypeError: Broken function -tests/test_math_utils.py:123: TypeError +tests/test_math_utils.py:123: TypeError` ```
@@ -5017,58 +5598,66 @@ tests/test_math_utils.py:123: TypeError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013540196232497692 +`0.00013720302376896143` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_import_error` -``` -passed -``` +
+
+โŒ #39 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_import_error - -- **Status:** โŒ failed -- **Duration:** 0.000149 s +- **Status:** โŒ `failed` +- **Duration:** `0.000149` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011751498095691204 +`0.00011599401477724314` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -5077,60 +5666,60 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001489589922130108 +`0.0001494790194556117` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py, lineno: 127, message: ImportError: Simulated ImportError +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `127``, `message: `ImportError: Simulated ImportError`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 127, message: ImportError +`path: `tests/test_math_utils.py``, `lineno: `127``, `message: `ImportError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_import_error(): +`def test_import_error(): > raise ImportError("Simulated ImportError") E ImportError: Simulated ImportError -tests/test_math_utils.py:127: ImportError +tests/test_math_utils.py:127: ImportError` ```
@@ -5139,58 +5728,66 @@ tests/test_math_utils.py:127: ImportError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00014453299809247255 +`0.00013285491149872541` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_module_not_found_error` -``` -passed -``` +
+
+โŒ #40 -
-
- - -
-
- -
-
-โŒ tests/test_math_utils.py::test_module_not_found_error - -- **Status:** โŒ failed -- **Duration:** 0.000592 s +- **Status:** โŒ `failed` +- **Duration:** `0.000450` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011473300401121378 +`0.00013179599773138762` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -5199,56 +5796,56 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0005916409427300096 +`0.0004497750196605921` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: , lineno: 973, message: ModuleNotFoundError: No module named 'non_existent_module_xyz' +`path: ```, `lineno: `973``, `message: `ModuleNotFoundError: No module named 'non_existent_module_xyz'`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_math_utils.py, lineno: 131, message: None, path: .pixi/envs/default/lib/python3.8/importlib/__init__.py, lineno: 127, message: in import_module, path: , lineno: 1014, message: in _gcd_import, path: , lineno: 991, message: in _find_and_load, path: , lineno: 973, message: ModuleNotFoundError +`path: `tests/test_math_utils.py``, `lineno: `131``, `message: `None``, `path: `.pixi/envs/default/lib/python3.8/importlib/__init__.py``, `lineno: `127``, `message: `in import_module``, `path: ```, `lineno: `1014``, `message: `in _gcd_import``, `path: ```, `lineno: `991``, `message: `in _find_and_load``, `path: ```, `lineno: `973``, `message: `ModuleNotFoundError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_module_not_found_error(): +`def test_module_not_found_error(): # Raises ModuleNotFoundError (subclass of ImportError) for missing module > importlib.import_module("non_existent_module_xyz") @@ -5263,12 +5860,12 @@ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'non_existent_module_xyz' -import_ = +import_ = > ??? E ModuleNotFoundError: No module named 'non_existent_module_xyz' -:973: ModuleNotFoundError +:973: ModuleNotFoundError` ```
@@ -5277,58 +5874,74 @@ E ModuleNotFoundError: No module named 'non_existent_module_xyz' ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013892503920942545 +`0.00013677903916686773` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
+
+
+ + +
+
+ +
-
-โœ… tests/test_string_utils.py::test_uppercase_normal +
+๐Ÿ“ test_string_utils.py -- **Status:** โœ… passed -- **Duration:** 0.000141 s +
+
+๐Ÿ”ง Function: `test_uppercase_type_error` + +
+
+โŒ #42 + +- **Status:** โŒ `failed` +- **Duration:** `0.000142` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001236180542036891 +`0.00011457002256065607` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -5337,141 +5950,56 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00014094507787376642 +`0.00014229596126824617` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`failed` ```
- -### ๐Ÿ”ง Teardown Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.0001002609496936202 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -
-
- -
-
-โŒ tests/test_string_utils.py::test_uppercase_type_error - -- **Status:** โŒ failed -- **Duration:** 0.000143 s - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00010425900109112263 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Call Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00014293903950601816 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -failed -``` - -
-
- -
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/functions/string_utils.py, lineno: 3, message: TypeError: Input cannot be None +`path: `/workspace/tligui_y/slic/functions/string_utils.py``, `lineno: `3``, `message: `TypeError: Input cannot be None`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_string_utils.py, lineno: 14, message: None, path: functions/string_utils.py, lineno: 3, message: TypeError +`path: `tests/test_string_utils.py``, `lineno: `14``, `message: `None``, `path: `functions/string_utils.py``, `lineno: `3``, `message: `TypeError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_uppercase_type_error(): +`def test_uppercase_type_error(): # TypeError when input is None (invalid input) > uppercase(None) @@ -5485,7 +6013,7 @@ s = None > raise TypeError("Input cannot be None") E TypeError: Input cannot be None -functions/string_utils.py:3: TypeError +functions/string_utils.py:3: TypeError` ```
@@ -5494,58 +6022,66 @@ functions/string_utils.py:3: TypeError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013321894221007824 +`0.00013468600809574127` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_unicode_decode_error` -``` -passed -``` +
+
+โŒ #45 -
-
- - -
-
- -
-
-โœ… tests/test_string_utils.py::test_reverse_string - -- **Status:** โœ… passed -- **Duration:** 0.000154 s +- **Status:** โŒ `failed` +- **Duration:** `0.000158` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011529703624546528 +`0.00011215603444725275` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -5554,231 +6090,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00015371793415397406 +`0.0001578029477968812` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`failed` ```
- -### ๐Ÿ”ง Teardown Phase - -
-
-๐Ÿ“Œ Duration - -``` -9.90809639915824e-05 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -
-
- -
-
-โœ… tests/test_string_utils.py::test_warning_emit - -- **Status:** โœ… passed -- **Duration:** 0.000139 s - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00010265700984746218 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Call Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.0001394780119881034 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Teardown Phase - -
-
-๐Ÿ“Œ Duration - -``` -9.739689994603395e-05 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -
-
- -
-
-โŒ tests/test_string_utils.py::test_unicode_decode_error - -- **Status:** โŒ failed -- **Duration:** 0.000147 s - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00010986300185322762 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Call Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00014666595961898565 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -failed -``` - -
-
- -
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_string_utils.py, lineno: 26, message: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte +`path: `/workspace/tligui_y/slic/tests/test_string_utils.py``, `lineno: `26``, `message: `UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_string_utils.py, lineno: 26, message: UnicodeDecodeError +`path: `tests/test_string_utils.py``, `lineno: `26``, `message: `UnicodeDecodeError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_unicode_decode_error(): +`def test_unicode_decode_error(): # UnicodeDecodeError when decoding invalid byte sequence > b'\xff'.decode('utf-8') E UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte -tests/test_string_utils.py:26: UnicodeDecodeError +tests/test_string_utils.py:26: UnicodeDecodeError` ```
@@ -5787,58 +6153,66 @@ tests/test_string_utils.py:26: UnicodeDecodeError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013142300304025412 +`0.00014555803500115871` ``` +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ +
-
-๐Ÿ“Œ Outcome +
+๐Ÿ”ง Function: `test_unicode_decode_surrogateescape` -``` -passed -``` +
+
+โŒ #46 -
-
- - -
-
- -
-
-โŒ tests/test_string_utils.py::test_unicode_decode_surrogateescape - -- **Status:** โŒ failed -- **Duration:** 0.000151 s +- **Status:** โŒ `failed` +- **Duration:** `0.000157` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00012138206511735916 +`0.00011529598850756884` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -5847,61 +6221,61 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00015078706201165915 +`0.00015730690211057663` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -failed +`failed` ```
-
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_string_utils.py, lineno: 30, message: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte +`path: `/workspace/tligui_y/slic/tests/test_string_utils.py``, `lineno: `30``, `message: `UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_string_utils.py, lineno: 30, message: UnicodeDecodeError +`path: `tests/test_string_utils.py``, `lineno: `30``, `message: `UnicodeDecodeError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -def test_unicode_decode_surrogateescape(): +`def test_unicode_decode_surrogateescape(): # UnicodeDecodeError with strict error handler on invalid byte > b"\x80".decode("utf-8", errors="strict") E UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte -tests/test_string_utils.py:30: UnicodeDecodeError +tests/test_string_utils.py:30: UnicodeDecodeError` ```
@@ -5910,23 +6284,23 @@ tests/test_string_utils.py:30: UnicodeDecodeError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013262499123811722 +`0.0001418309984728694` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -5936,32 +6310,56 @@ passed
-
-
-โœ… tests/test_string_utils.py::test_import_warning -- **Status:** โœ… passed -- **Duration:** 0.000137 s +
+
+ + +
+
+ + +
+
+ +
+
+โŒ Xfailed (2) + +
+
+๐Ÿ“ test_math_utils.py + +
+
+๐Ÿ”ง Function: `test_multiply_xfail` + +
+
+โŒ #23 + +- **Status:** โŒ `xfailed` +- **Duration:** `0.000251` s ### ๐Ÿ”ง Setup Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00011587201151996851 +`0.00013229798059910536` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -5970,145 +6368,202 @@ passed ### ๐Ÿ”ง Call Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.0001368579687550664 +`0.00025132298469543457` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`skipped` ```
- -### ๐Ÿ”ง Teardown Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00010125699918717146 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -
-
- -
-
-โŒ tests/test_string_utils.py::test_xfail_uppercase_digits - -- **Status:** โŒ xfailed -- **Duration:** 0.000575 s - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.0001139430096372962 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -passed -``` - -
-
- - -### ๐Ÿ”ง Call Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.0005746809765696526 -``` - -
-
- -
-
-๐Ÿ“Œ Outcome - -``` -skipped -``` - -
-
- -
-
+
+
๐Ÿ“Œ Crash ``` -path: /workspace/tligui_y/slic/tests/test_string_utils.py, lineno: 39, message: AssertionError: assert 'ABC123' == 'ABC1234' - - - ABC1234 - ? - - + ABC123 +`path: `/workspace/tligui_y/slic/tests/test_math_utils.py``, `lineno: `60``, `message: `assert 4 == 5 + + where 4 = multiply(2, 2)`` ```
-
-
+
+
๐Ÿ“Œ Traceback ``` -path: tests/test_string_utils.py, lineno: 39, message: AssertionError +`path: `tests/test_math_utils.py``, `lineno: `60``, `message: `AssertionError`` ```
-
-
+
+
๐Ÿ“Œ Longrepr ``` -@pytest.mark.xfail(reason="Expected failure: uppercase does not handle digits") +`@pytest.mark.xfail(reason="Expected failure") + def test_multiply_xfail(): + # Expected fail test (xfail): incorrect expected multiply result +> assert multiply(2, 2) == 5 +E assert 4 == 5 +E + where 4 = multiply(2, 2) + +tests/test_math_utils.py:60: AssertionError` +``` + +
+
+ + +### ๐Ÿ”ง Teardown Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00013276003301143646` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+๐Ÿ“ test_string_utils.py + +
+
+๐Ÿ”ง Function: `test_xfail_uppercase_digits` + +
+
+โŒ #48 + +- **Status:** โŒ `xfailed` +- **Duration:** `0.000572` s + +### ๐Ÿ”ง Setup Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.00011361890938133001` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`passed` +``` + +
+
+ + +### ๐Ÿ”ง Call Phase + +
+
+๐Ÿ“Œ Duration + +``` +`0.0005717549938708544` +``` + +
+
+ +
+
+๐Ÿ“Œ Outcome + +``` +`skipped` +``` + +
+
+ +
+
+๐Ÿ“Œ Crash + +``` +`path: `/workspace/tligui_y/slic/tests/test_string_utils.py``, `lineno: `39``, `message: `AssertionError: assert 'ABC123' == 'ABC1234' + + - ABC1234 + ? - + + ABC123`` +``` + +
+
+ +
+
+๐Ÿ“Œ Traceback + +``` +`path: `tests/test_string_utils.py``, `lineno: `39``, `message: `AssertionError`` +``` + +
+
+ +
+
+๐Ÿ“Œ Longrepr + +``` +`@pytest.mark.xfail(reason="Expected failure: uppercase does not handle digits") def test_xfail_uppercase_digits(): # Expected fail test because uppercase won't change digits > assert uppercase("abc123") == "ABC1234" @@ -6118,7 +6573,7 @@ E - ABC1234 E ? - E + ABC123 -tests/test_string_utils.py:39: AssertionError +tests/test_string_utils.py:39: AssertionError` ```
@@ -6127,23 +6582,23 @@ tests/test_string_utils.py:39: AssertionError ### ๐Ÿ”ง Teardown Phase -
-
+
+
๐Ÿ“Œ Duration ``` -0.00013458600733429193 +`0.00014313100837171078` ```
-
-
+
+
๐Ÿ“Œ Outcome ``` -passed +`passed` ```
@@ -6153,33 +6608,10 @@ passed
-
-
-โœ… tests/test_string_utils.py::test_keyboard_interrupt_direct - -- **Status:** โœ… passed -- **Duration**: None - -### ๐Ÿ”ง Setup Phase - -
-
-๐Ÿ“Œ Duration - -``` -0.00011941196862608194 -```
-
-
-๐Ÿ“Œ Outcome - -``` -passed -```
@@ -6190,373 +6622,400 @@ passed ## ๐Ÿ“š Collected files
-
+
+โœ… (1 tests) + +
+
โœ… +- **Outcome:** `passed` +- **Details:** ``` -nodeid: . -type: Dir -``` -
-
- -
-
-โœ… ci-reports/allure/data - - -
-
- -
-
-โœ… ci-reports/allure/export - - -
-
- -
-
-โœ… ci-reports/allure/history - - -
-
- -
-
-โœ… ci-reports/allure/plugin/behaviors - - -
-
- -
-
-โœ… ci-reports/allure/plugin/packages - - -
-
- -
-
-โœ… ci-reports/allure/plugin/screen-diff - - -
-
- -
-
-โœ… ci-reports/allure/plugin +result: +`nodeid: `.``, `type: `Dir`` ``` -nodeid: ci-reports/allure/plugin/behaviors -type: Dir -nodeid: ci-reports/allure/plugin/packages -type: Dir -nodeid: ci-reports/allure/plugin/screen-diff -type: Dir -``` +
-
-
-โœ… ci-reports/allure/widgets -
-
-โœ… ci-reports/allure +
+โœ… ci-reports (12 tests) -``` -nodeid: ci-reports/allure/data -type: Dir -nodeid: ci-reports/allure/export -type: Dir -nodeid: ci-reports/allure/history -type: Dir -nodeid: ci-reports/allure/plugin -type: Dir -nodeid: ci-reports/allure/widgets -type: Dir -``` -
-
- -
-
-โœ… ci-reports/coverage - - -
-
- -
-
-โœ… ci-reports/markdown - - -
-
- -
-
+
+
โœ… ci-reports +- **Outcome:** `passed` +- **Details:** ``` -nodeid: ci-reports/allure -type: Dir -nodeid: ci-reports/coverage -type: Dir -nodeid: ci-reports/markdown -type: Dir +result: +`nodeid: `ci-reports/allure``, `type: `Dir``, `nodeid: `ci-reports/coverage``, `type: `Dir``, `nodeid: `ci-reports/markdown``, `type: `Dir`` + ``` + +
+
+ +
+
+โœ… ci-reports/allure + +- **Outcome:** `passed` +- **Details:** +``` +result: +`nodeid: `ci-reports/allure/data``, `type: `Dir``, `nodeid: `ci-reports/allure/export``, `type: `Dir``, `nodeid: `ci-reports/allure/history``, `type: `Dir``, `nodeid: `ci-reports/allure/plugin``, `type: `Dir``, `nodeid: `ci-reports/allure/widgets``, `type: `Dir`` + +``` + +
+
+ +
+
+โœ… ci-reports/allure/data + +- **Outcome:** `passed` +- **Details:** +``` +result: + + +``` + +
+
+ +
+
+โœ… ci-reports/allure/export + +- **Outcome:** `passed` +- **Details:** +``` +result: + + +``` + +
+
+ +
+
+โœ… ci-reports/allure/history + +- **Outcome:** `passed` +- **Details:** +``` +result: + + +``` + +
+
+ +
+
+โœ… ci-reports/allure/plugin + +- **Outcome:** `passed` +- **Details:** +``` +result: +`nodeid: `ci-reports/allure/plugin/behaviors``, `type: `Dir``, `nodeid: `ci-reports/allure/plugin/packages``, `type: `Dir``, `nodeid: `ci-reports/allure/plugin/screen-diff``, `type: `Dir`` + +``` + +
+
+ +
+
+โœ… ci-reports/allure/plugin/behaviors + +- **Outcome:** `passed` +- **Details:** +``` +result: + + +``` + +
+
+ +
+
+โœ… ci-reports/allure/plugin/packages + +- **Outcome:** `passed` +- **Details:** +``` +result: + + +``` + +
+
+ +
+
+โœ… ci-reports/allure/plugin/screen-diff + +- **Outcome:** `passed` +- **Details:** +``` +result: + + +``` + +
+
+ +
+
+โœ… ci-reports/allure/widgets + +- **Outcome:** `passed` +- **Details:** +``` +result: + + +``` + +
+
+ +
+
+โœ… ci-reports/coverage + +- **Outcome:** `passed` +- **Details:** +``` +result: + + +``` + +
+
+ +
+
+โœ… ci-reports/markdown + +- **Outcome:** `passed` +- **Details:** +``` +result: + + +``` + +
+
+ +
-
+
+โœ… functions (1 tests) + +
+
โœ… functions +- **Outcome:** `passed` +- **Details:** +``` +result: + + +```
-
-
-โŒ tests/test_broken_fct.py -
-
-โŒ tests/test_collector_error.py +
+โŒ tests (6 tests) - -
-
- -
-
-โœ… tests/test_io_utils.py - -``` -nodeid: tests/test_io_utils.py::test_read_file -type: Function -lineno: 9 -nodeid: tests/test_io_utils.py::test_write_file -type: Function -lineno: 16 -nodeid: tests/test_io_utils.py::test_cause_io_error -type: Function -lineno: 22 -nodeid: tests/test_io_utils.py::test_file_not_found -type: Function -lineno: 26 -nodeid: tests/test_io_utils.py::test_permission_error -type: Function -lineno: 30 -nodeid: tests/test_io_utils.py::test_mock_open_error -type: Function -lineno: 37 -nodeid: tests/test_io_utils.py::test_file_handle_closed_error -type: Function -lineno: 45 -nodeid: tests/test_io_utils.py::test_os_error -type: Function -lineno: 51 -nodeid: tests/test_io_utils.py::test_write_file_readonly -type: Function -lineno: 58 -nodeid: tests/test_io_utils.py::test_file_not_found_error -type: Function -lineno: 66 -``` -
-
- -
-
-โœ… tests/test_math_utils.py - -``` -nodeid: tests/test_math_utils.py::test_broken -type: Function -lineno: 13 -nodeid: tests/test_math_utils.py::test_call_missing_function -type: Function -lineno: 17 -nodeid: tests/test_math_utils.py::test_addition_pass[2-2-4] -type: Function -lineno: 22 -nodeid: tests/test_math_utils.py::test_addition_pass[1-5-6] -type: Function -lineno: 22 -nodeid: tests/test_math_utils.py::test_addition_pass[3-4-7] -type: Function -lineno: 22 -nodeid: tests/test_math_utils.py::test_addition_pass[3-5-8] -type: Function -lineno: 22 -nodeid: tests/test_math_utils.py::test_addition_pass[3-6-9] -type: Function -lineno: 22 -nodeid: tests/test_math_utils.py::test_addition_pass_id[a=2,b=2,expected=4] -type: Function -lineno: 36 -nodeid: tests/test_math_utils.py::test_addition_pass_id[a=1,b=5,expected=6] -type: Function -lineno: 36 -nodeid: tests/test_math_utils.py::test_addition_pass_id[a=3,b=4,expected=7] -type: Function -lineno: 36 -nodeid: tests/test_math_utils.py::test_addition_fail -type: Function -lineno: 48 -nodeid: tests/test_math_utils.py::test_division_zero -type: Function -lineno: 52 -nodeid: tests/test_math_utils.py::test_multiply_xfail -type: Function -lineno: 56 -nodeid: tests/test_math_utils.py::test_runtime_error -type: Function -lineno: 61 -nodeid: tests/test_math_utils.py::test_memory_error -type: Function -lineno: 65 -nodeid: tests/test_math_utils.py::test_timeout_error -type: Function -lineno: 69 -nodeid: tests/test_math_utils.py::test_recursion_error -type: Function -lineno: 73 -nodeid: tests/test_math_utils.py::test_floating_point_error -type: Function -lineno: 79 -nodeid: tests/test_math_utils.py::test_floating_point_overflow -type: Function -lineno: 83 -nodeid: tests/test_math_utils.py::test_value_error -type: Function -lineno: 87 -nodeid: tests/test_math_utils.py::test_wrong_argument_error -type: Function -lineno: 91 -nodeid: tests/test_math_utils.py::test_unhandled_exception -type: Function -lineno: 95 -nodeid: tests/test_math_utils.py::test_custom_error -type: Function -lineno: 99 -nodeid: tests/test_math_utils.py::test_stop_iteration_direct -type: Function -lineno: 103 -nodeid: tests/test_math_utils.py::test_generator_exit_direct -type: Function -lineno: 107 -nodeid: tests/test_math_utils.py::test_malformed_code -type: Function -lineno: 111 -nodeid: tests/test_math_utils.py::test_sys_exit -type: Function -lineno: 115 -nodeid: tests/test_math_utils.py::test_broken_function -type: Function -lineno: 119 -nodeid: tests/test_math_utils.py::test_import_error -type: Function -lineno: 125 -nodeid: tests/test_math_utils.py::test_module_not_found_error -type: Function -lineno: 128 -``` -
-
- -
-
-โœ… tests/test_string_utils.py - -``` -nodeid: tests/test_string_utils.py::test_uppercase_normal -type: Function -lineno: 7 -nodeid: tests/test_string_utils.py::test_uppercase_type_error -type: Function -lineno: 11 -nodeid: tests/test_string_utils.py::test_reverse_string -type: Function -lineno: 15 -nodeid: tests/test_string_utils.py::test_warning_emit -type: Function -lineno: 19 -nodeid: tests/test_string_utils.py::test_unicode_decode_error -type: Function -lineno: 23 -nodeid: tests/test_string_utils.py::test_unicode_decode_surrogateescape -type: Function -lineno: 27 -nodeid: tests/test_string_utils.py::test_import_warning -type: Function -lineno: 31 -nodeid: tests/test_string_utils.py::test_xfail_uppercase_digits -type: Function -lineno: 35 -nodeid: tests/test_string_utils.py::test_keyboard_interrupt_direct -type: Function -lineno: 40 -``` -
-
- -
-
+
+
โœ… tests +- **Outcome:** `passed` +- **Details:** ``` -nodeid: tests/test_broken_fct.py -type: Module -nodeid: tests/test_collector_error.py -type: Module -nodeid: tests/test_io_utils.py -type: Module -nodeid: tests/test_math_utils.py -type: Module -nodeid: tests/test_string_utils.py -type: Module +result: +`nodeid: `tests/test_broken_fct.py``, `type: `Module``, `nodeid: `tests/test_collector_error.py``, `type: `Module``, `nodeid: `tests/test_io_utils.py``, `type: `Module``, `nodeid: `tests/test_math_utils.py``, `type: `Module``, `nodeid: `tests/test_string_utils.py``, `type: `Module`` + ``` + +
+
+ +
+
+โŒ tests/test_broken_fct.py + +- **Outcome:** `failed` +- **Details:** +``` +result: + + +longrepr: +`.pixi/envs/default/lib/python3.8/site-packages/_pytest/python.py:493: in importtestmodule + mod = import_path( +.pixi/envs/default/lib/python3.8/site-packages/_pytest/pathlib.py:587: in import_path + importlib.import_module(module_name) +.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +:1014: in _gcd_import + ??? +:991: in _find_and_load + ??? +:975: in _find_and_load_unlocked + ??? +:671: in _load_unlocked + ??? +.pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:175: in exec_module + source_stat, co = _rewrite_test(fn, self.config) +.pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:355: in _rewrite_test + tree = ast.parse(source, filename=strfn) +.pixi/envs/default/lib/python3.8/ast.py:47: in parse + return compile(source, filename, mode, flags, +E File "/workspace/tligui_y/slic/tests/test_broken_fct.py", line 8 +E def test_valid_2(): +E ^ +E SyntaxError: invalid syntax` + +``` + +
+
+ +
+
+โŒ tests/test_collector_error.py + +- **Outcome:** `failed` +- **Details:** +``` +result: + + +longrepr: +`ImportError while importing test module '/workspace/tligui_y/slic/tests/test_collector_error.py'. +Hint: make sure your test modules/packages have valid Python names. +Traceback: +.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module + return _bootstrap._gcd_import(name[level:], package, level) +tests/test_collector_error.py:1: in + from no_existing_module.math_utils import * +E ModuleNotFoundError: No module named 'no_existing_module'` + +``` + +
+
+ +
+
+โœ… tests/test_io_utils.py + +- **Outcome:** `passed` +- **Details:** +``` +result: +`nodeid: `tests/test_io_utils.py::test_read_file``, `type: `Function``, `lineno: `9``, `nodeid: `tests/test_io_utils.py::test_write_file``, `type: `Function``, `lineno: `16``, `nodeid: `tests/test_io_utils.py::test_cause_io_error``, `type: `Function``, `lineno: `22``, `nodeid: `tests/test_io_utils.py::test_file_not_found``, `type: `Function``, `lineno: `26``, `nodeid: `tests/test_io_utils.py::test_permission_error``, `type: `Function``, `lineno: `30``, `nodeid: `tests/test_io_utils.py::test_mock_open_error``, `type: `Function``, `lineno: `37``, `nodeid: `tests/test_io_utils.py::test_file_handle_closed_error``, `type: `Function``, `lineno: `45``, `nodeid: `tests/test_io_utils.py::test_os_error``, `type: `Function``, `lineno: `51``, `nodeid: `tests/test_io_utils.py::test_write_file_readonly``, `type: `Function``, `lineno: `58``, `nodeid: `tests/test_io_utils.py::test_file_not_found_error``, `type: `Function``, `lineno: `66`` + +``` + +
+
+ +
+
+โœ… tests/test_math_utils.py + +- **Outcome:** `passed` +- **Details:** +``` +result: +`nodeid: `tests/test_math_utils.py::test_broken``, `type: `Function``, `lineno: `13``, `nodeid: `tests/test_math_utils.py::test_call_missing_function``, `type: `Function``, `lineno: `17``, `nodeid: `tests/test_math_utils.py::test_addition_pass[2-2-4]``, `type: `Function``, `lineno: `22``, `nodeid: `tests/test_math_utils.py::test_addition_pass[1-5-6]``, `type: `Function``, `lineno: `22``, `nodeid: `tests/test_math_utils.py::test_addition_pass[3-4-7]``, `type: `Function``, `lineno: `22``, `nodeid: `tests/test_math_utils.py::test_addition_pass[3-5-8]``, `type: `Function``, `lineno: `22``, `nodeid: `tests/test_math_utils.py::test_addition_pass[3-6-9]``, `type: `Function``, `lineno: `22``, `nodeid: `tests/test_math_utils.py::test_addition_pass_id[a=2,b=2,expected=4]``, `type: `Function``, `lineno: `36``, `nodeid: `tests/test_math_utils.py::test_addition_pass_id[a=1,b=5,expected=6]``, `type: `Function``, `lineno: `36``, `nodeid: `tests/test_math_utils.py::test_addition_pass_id[a=3,b=4,expected=7]``, `type: `Function``, `lineno: `36``, `nodeid: `tests/test_math_utils.py::test_addition_fail``, `type: `Function``, `lineno: `48``, `nodeid: `tests/test_math_utils.py::test_division_zero``, `type: `Function``, `lineno: `52``, `nodeid: `tests/test_math_utils.py::test_multiply_xfail``, `type: `Function``, `lineno: `56``, `nodeid: `tests/test_math_utils.py::test_runtime_error``, `type: `Function``, `lineno: `61``, `nodeid: `tests/test_math_utils.py::test_memory_error``, `type: `Function``, `lineno: `65``, `nodeid: `tests/test_math_utils.py::test_timeout_error``, `type: `Function``, `lineno: `69``, `nodeid: `tests/test_math_utils.py::test_recursion_error``, `type: `Function``, `lineno: `73``, `nodeid: `tests/test_math_utils.py::test_floating_point_error``, `type: `Function``, `lineno: `79``, `nodeid: `tests/test_math_utils.py::test_floating_point_overflow``, `type: `Function``, `lineno: `83``, `nodeid: `tests/test_math_utils.py::test_value_error``, `type: `Function``, `lineno: `87``, `nodeid: `tests/test_math_utils.py::test_wrong_argument_error``, `type: `Function``, `lineno: `91``, `nodeid: `tests/test_math_utils.py::test_unhandled_exception``, `type: `Function``, `lineno: `95``, `nodeid: `tests/test_math_utils.py::test_custom_error``, `type: `Function``, `lineno: `99``, `nodeid: `tests/test_math_utils.py::test_stop_iteration_direct``, `type: `Function``, `lineno: `103``, `nodeid: `tests/test_math_utils.py::test_generator_exit_direct``, `type: `Function``, `lineno: `107``, `nodeid: `tests/test_math_utils.py::test_malformed_code``, `type: `Function``, `lineno: `111``, `nodeid: `tests/test_math_utils.py::test_sys_exit``, `type: `Function``, `lineno: `115``, `nodeid: `tests/test_math_utils.py::test_broken_function``, `type: `Function``, `lineno: `119``, `nodeid: `tests/test_math_utils.py::test_import_error``, `type: `Function``, `lineno: `125``, `nodeid: `tests/test_math_utils.py::test_module_not_found_error``, `type: `Function``, `lineno: `128`` + +``` + +
+
+ +
+
+โœ… tests/test_string_utils.py + +- **Outcome:** `passed` +- **Details:** +``` +result: +`nodeid: `tests/test_string_utils.py::test_uppercase_normal``, `type: `Function``, `lineno: `7``, `nodeid: `tests/test_string_utils.py::test_uppercase_type_error``, `type: `Function``, `lineno: `11``, `nodeid: `tests/test_string_utils.py::test_reverse_string``, `type: `Function``, `lineno: `15``, `nodeid: `tests/test_string_utils.py::test_warning_emit``, `type: `Function``, `lineno: `19``, `nodeid: `tests/test_string_utils.py::test_unicode_decode_error``, `type: `Function``, `lineno: `23``, `nodeid: `tests/test_string_utils.py::test_unicode_decode_surrogateescape``, `type: `Function``, `lineno: `27``, `nodeid: `tests/test_string_utils.py::test_import_warning``, `type: `Function``, `lineno: `31``, `nodeid: `tests/test_string_utils.py::test_xfail_uppercase_digits``, `type: `Function``, `lineno: `35``, `nodeid: `tests/test_string_utils.py::test_keyboard_interrupt_direct``, `type: `Function``, `lineno: `40`` + +``` + +
+
+ +
-
+
+โœ… . (1 tests) + +
+
โœ… . +- **Outcome:** `passed` +- **Details:** ``` -nodeid: ci-reports -type: Dir -nodeid: functions -type: Package -nodeid: tests -type: Dir +result: +`nodeid: `ci-reports``, `type: `Dir``, `nodeid: `functions``, `type: `Package``, `nodeid: `tests``, `type: `Dir`` + ``` + +
+
+ +
## โš ๏ธ Warnings
-
+
Warning #1 ``` diff --git a/ci-reports/markdown/md-report.log b/ci-reports/markdown/md-report.log index d2b1e433b..2f9cfcd94 100644 --- a/ci-reports/markdown/md-report.log +++ b/ci-reports/markdown/md-report.log @@ -1,4 +1,2 @@ - File "/workspace/tligui_y/slic/json_to_md.py", line 40 - return (f'
- ^ -SyntaxError: unterminated f-string literal (detected at line 40) +โœ… Banner and log summary added to markdown report. +โœ… Report generated at ci-reports/markdown/TEST-REPORT.md diff --git a/ci-reports/markdown/pytest-report.json b/ci-reports/markdown/pytest-report.json index 0f035d13e..41ae3b32d 100644 --- a/ci-reports/markdown/pytest-report.json +++ b/ci-reports/markdown/pytest-report.json @@ -1 +1 @@ -{"created": 1752623569.8033009, "duration": 0.7156915664672852, "exitcode": 2, "root": "/workspace/tligui_y/slic", "environment": {}, "summary": {"passed": 16, "failed": 31, "xfailed": 2, "total": 49, "collected": 49}, "collectors": [{"nodeid": "", "outcome": "passed", "result": [{"nodeid": ".", "type": "Dir"}]}, {"nodeid": "ci-reports/allure/data", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/export", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/history", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin/behaviors", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin/packages", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin/screen-diff", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin", "outcome": "passed", "result": [{"nodeid": "ci-reports/allure/plugin/behaviors", "type": "Dir"}, {"nodeid": "ci-reports/allure/plugin/packages", "type": "Dir"}, {"nodeid": "ci-reports/allure/plugin/screen-diff", "type": "Dir"}]}, {"nodeid": "ci-reports/allure/widgets", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure", "outcome": "passed", "result": [{"nodeid": "ci-reports/allure/data", "type": "Dir"}, {"nodeid": "ci-reports/allure/export", "type": "Dir"}, {"nodeid": "ci-reports/allure/history", "type": "Dir"}, {"nodeid": "ci-reports/allure/plugin", "type": "Dir"}, {"nodeid": "ci-reports/allure/widgets", "type": "Dir"}]}, {"nodeid": "ci-reports/coverage", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/markdown", "outcome": "passed", "result": []}, {"nodeid": "ci-reports", "outcome": "passed", "result": [{"nodeid": "ci-reports/allure", "type": "Dir"}, {"nodeid": "ci-reports/coverage", "type": "Dir"}, {"nodeid": "ci-reports/markdown", "type": "Dir"}]}, {"nodeid": "functions", "outcome": "passed", "result": []}, {"nodeid": "tests/test_broken_fct.py", "outcome": "failed", "result": [], "longrepr": ".pixi/envs/default/lib/python3.8/site-packages/_pytest/python.py:493: in importtestmodule\n mod = import_path(\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/pathlib.py:587: in import_path\n importlib.import_module(module_name)\n.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n:1014: in _gcd_import\n ???\n:991: in _find_and_load\n ???\n:975: in _find_and_load_unlocked\n ???\n:671: in _load_unlocked\n ???\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:175: in exec_module\n source_stat, co = _rewrite_test(fn, self.config)\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:355: in _rewrite_test\n tree = ast.parse(source, filename=strfn)\n.pixi/envs/default/lib/python3.8/ast.py:47: in parse\n return compile(source, filename, mode, flags,\nE File \"/workspace/tligui_y/slic/tests/test_broken_fct.py\", line 8\nE def test_valid_2():\nE ^\nE SyntaxError: invalid syntax"}, {"nodeid": "tests/test_collector_error.py", "outcome": "failed", "result": [], "longrepr": "ImportError while importing test module '/workspace/tligui_y/slic/tests/test_collector_error.py'.\nHint: make sure your test modules/packages have valid Python names.\nTraceback:\n.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\ntests/test_collector_error.py:1: in \n from no_existing_module.math_utils import *\nE ModuleNotFoundError: No module named 'no_existing_module'"}, {"nodeid": "tests/test_io_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_io_utils.py::test_read_file", "type": "Function", "lineno": 9}, {"nodeid": "tests/test_io_utils.py::test_write_file", "type": "Function", "lineno": 16}, {"nodeid": "tests/test_io_utils.py::test_cause_io_error", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_io_utils.py::test_file_not_found", "type": "Function", "lineno": 26}, {"nodeid": "tests/test_io_utils.py::test_permission_error", "type": "Function", "lineno": 30}, {"nodeid": "tests/test_io_utils.py::test_mock_open_error", "type": "Function", "lineno": 37}, {"nodeid": "tests/test_io_utils.py::test_file_handle_closed_error", "type": "Function", "lineno": 45}, {"nodeid": "tests/test_io_utils.py::test_os_error", "type": "Function", "lineno": 51}, {"nodeid": "tests/test_io_utils.py::test_write_file_readonly", "type": "Function", "lineno": 58}, {"nodeid": "tests/test_io_utils.py::test_file_not_found_error", "type": "Function", "lineno": 66}]}, {"nodeid": "tests/test_math_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_math_utils.py::test_broken", "type": "Function", "lineno": 13}, {"nodeid": "tests/test_math_utils.py::test_call_missing_function", "type": "Function", "lineno": 17}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[2-2-4]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[1-5-6]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-4-7]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-5-8]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-6-9]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=2,b=2,expected=4]", "type": "Function", "lineno": 36}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=1,b=5,expected=6]", "type": "Function", "lineno": 36}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=3,b=4,expected=7]", "type": "Function", "lineno": 36}, {"nodeid": "tests/test_math_utils.py::test_addition_fail", "type": "Function", "lineno": 48}, {"nodeid": "tests/test_math_utils.py::test_division_zero", "type": "Function", "lineno": 52}, {"nodeid": "tests/test_math_utils.py::test_multiply_xfail", "type": "Function", "lineno": 56}, {"nodeid": "tests/test_math_utils.py::test_runtime_error", "type": "Function", "lineno": 61}, {"nodeid": "tests/test_math_utils.py::test_memory_error", "type": "Function", "lineno": 65}, {"nodeid": "tests/test_math_utils.py::test_timeout_error", "type": "Function", "lineno": 69}, {"nodeid": "tests/test_math_utils.py::test_recursion_error", "type": "Function", "lineno": 73}, {"nodeid": "tests/test_math_utils.py::test_floating_point_error", "type": "Function", "lineno": 79}, {"nodeid": "tests/test_math_utils.py::test_floating_point_overflow", "type": "Function", "lineno": 83}, {"nodeid": "tests/test_math_utils.py::test_value_error", "type": "Function", "lineno": 87}, {"nodeid": "tests/test_math_utils.py::test_wrong_argument_error", "type": "Function", "lineno": 91}, {"nodeid": "tests/test_math_utils.py::test_unhandled_exception", "type": "Function", "lineno": 95}, {"nodeid": "tests/test_math_utils.py::test_custom_error", "type": "Function", "lineno": 99}, {"nodeid": "tests/test_math_utils.py::test_stop_iteration_direct", "type": "Function", "lineno": 103}, {"nodeid": "tests/test_math_utils.py::test_generator_exit_direct", "type": "Function", "lineno": 107}, {"nodeid": "tests/test_math_utils.py::test_malformed_code", "type": "Function", "lineno": 111}, {"nodeid": "tests/test_math_utils.py::test_sys_exit", "type": "Function", "lineno": 115}, {"nodeid": "tests/test_math_utils.py::test_broken_function", "type": "Function", "lineno": 119}, {"nodeid": "tests/test_math_utils.py::test_import_error", "type": "Function", "lineno": 125}, {"nodeid": "tests/test_math_utils.py::test_module_not_found_error", "type": "Function", "lineno": 128}]}, {"nodeid": "tests/test_string_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "type": "Function", "lineno": 7}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "type": "Function", "lineno": 11}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "type": "Function", "lineno": 15}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "type": "Function", "lineno": 19}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "type": "Function", "lineno": 23}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "type": "Function", "lineno": 27}, {"nodeid": "tests/test_string_utils.py::test_import_warning", "type": "Function", "lineno": 31}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "type": "Function", "lineno": 35}, {"nodeid": "tests/test_string_utils.py::test_keyboard_interrupt_direct", "type": "Function", "lineno": 40}]}, {"nodeid": "tests", "outcome": "passed", "result": [{"nodeid": "tests/test_broken_fct.py", "type": "Module"}, {"nodeid": "tests/test_collector_error.py", "type": "Module"}, {"nodeid": "tests/test_io_utils.py", "type": "Module"}, {"nodeid": "tests/test_math_utils.py", "type": "Module"}, {"nodeid": "tests/test_string_utils.py", "type": "Module"}]}, {"nodeid": ".", "outcome": "passed", "result": [{"nodeid": "ci-reports", "type": "Dir"}, {"nodeid": "functions", "type": "Package"}, {"nodeid": "tests", "type": "Dir"}]}], "tests": [{"nodeid": "tests/test_io_utils.py::test_read_file", "lineno": 9, "outcome": "passed", "keywords": ["test_read_file", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.003370280028320849, "outcome": "passed"}, "call": {"duration": 0.000464743934571743, "outcome": "passed"}, "teardown": {"duration": 0.00026251492090523243, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_write_file", "lineno": 16, "outcome": "passed", "keywords": ["test_write_file", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0004927010741084814, "outcome": "passed"}, "call": {"duration": 0.00028576201293617487, "outcome": "passed"}, "teardown": {"duration": 0.00014544406440109015, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_cause_io_error", "lineno": 22, "outcome": "failed", "keywords": ["test_cause_io_error", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011727400124073029, "outcome": "passed"}, "call": {"duration": 0.0001573209883645177, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/functions/io_utils.py", "lineno": 10, "message": "OSError: Forced IO Error for testing"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 25, "message": ""}, {"path": "functions/io_utils.py", "lineno": 10, "message": "OSError"}], "longrepr": "def test_cause_io_error():\n # Raises manual IOError to simulate IO failure\n> cause_io_error()\n\ntests/test_io_utils.py:25: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\n def cause_io_error():\n> raise IOError(\"Forced IO Error for testing\")\nE OSError: Forced IO Error for testing\n\nfunctions/io_utils.py:10: OSError"}, "teardown": {"duration": 0.00014468899462372065, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_file_not_found", "lineno": 26, "outcome": "failed", "keywords": ["test_file_not_found", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00014814408496022224, "outcome": "passed"}, "call": {"duration": 0.00017479504458606243, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/functions/io_utils.py", "lineno": 2, "message": "FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.file'"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 29, "message": ""}, {"path": "functions/io_utils.py", "lineno": 2, "message": "FileNotFoundError"}], "longrepr": "def test_file_not_found():\n # Reading non-existing file raises FileNotFoundError\n> read_file(\"nonexistent.file\")\n\ntests/test_io_utils.py:29: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\npath = 'nonexistent.file'\n\n def read_file(path):\n> with open(path, \"r\", encoding=\"utf-8\") as f:\nE FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.file'\n\nfunctions/io_utils.py:2: FileNotFoundError"}, "teardown": {"duration": 0.00014150200877338648, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_permission_error", "lineno": 30, "outcome": "failed", "keywords": ["test_permission_error", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0001986050046980381, "outcome": "passed"}, "call": {"duration": 0.00017418002244085073, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_io_utils.py", "lineno": 34, "message": "PermissionError: Permission denied"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 36, "message": ""}, {"path": "functions/io_utils.py", "lineno": 2, "message": "in read_file"}, {"path": "tests/test_io_utils.py", "lineno": 34, "message": "PermissionError"}], "longrepr": "monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f26194a3490>\n\n def test_permission_error(monkeypatch):\n # Patch open to raise PermissionError simulating access denial\n def raise_perm_error(*args, **kwargs):\n raise PermissionError(\"Permission denied\")\n monkeypatch.setattr(\"builtins.open\", raise_perm_error)\n> read_file(\"anyfile.txt\")\n\ntests/test_io_utils.py:36: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \nfunctions/io_utils.py:2: in read_file\n with open(path, \"r\", encoding=\"utf-8\") as f:\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nargs = ('anyfile.txt', 'r'), kwargs = {'encoding': 'utf-8'}\n\n def raise_perm_error(*args, **kwargs):\n> raise PermissionError(\"Permission denied\")\nE PermissionError: Permission denied\n\ntests/test_io_utils.py:34: PermissionError"}, "teardown": {"duration": 0.00018034398090094328, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_mock_open_error", "lineno": 37, "outcome": "failed", "keywords": ["test_mock_open_error", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00018458196427673101, "outcome": "passed"}, "call": {"duration": 0.0032187290489673615, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/unittest/mock.py", "lineno": 1140, "message": "OSError: Mocked IOError"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 43, "message": ""}, {"path": ".pixi/envs/default/lib/python3.8/unittest/mock.py", "lineno": 1081, "message": "in __call__"}, {"path": ".pixi/envs/default/lib/python3.8/unittest/mock.py", "lineno": 1085, "message": "in _mock_call"}, {"path": ".pixi/envs/default/lib/python3.8/unittest/mock.py", "lineno": 1140, "message": "OSError"}], "longrepr": "monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f2619931d60>\n\n def test_mock_open_error(monkeypatch):\n # Mock open() to raise IOError simulating read error\n mocked_open = mock.mock_open()\n mocked_open.side_effect = IOError(\"Mocked IOError\")\n monkeypatch.setattr(\"builtins.open\", mocked_open)\n> with open(\"file.txt\", \"r\") as f:\n\ntests/test_io_utils.py:43: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n.pixi/envs/default/lib/python3.8/unittest/mock.py:1081: in __call__\n return self._mock_call(*args, **kwargs)\n.pixi/envs/default/lib/python3.8/unittest/mock.py:1085: in _mock_call\n return self._execute_mock_call(*args, **kwargs)\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = \nargs = ('file.txt', 'r'), kwargs = {}, effect = OSError('Mocked IOError')\n\n def _execute_mock_call(self, /, *args, **kwargs):\n # separate from _increment_mock_call so that awaited functions are\n # executed separately from their call, also AsyncMock overrides this method\n \n effect = self.side_effect\n if effect is not None:\n if _is_exception(effect):\n> raise effect\nE OSError: Mocked IOError\n\n.pixi/envs/default/lib/python3.8/unittest/mock.py:1140: OSError"}, "teardown": {"duration": 0.00030551396775990725, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_file_handle_closed_error", "lineno": 45, "outcome": "failed", "keywords": ["test_file_handle_closed_error", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00014245498459786177, "outcome": "passed"}, "call": {"duration": 0.00018079997971653938, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_io_utils.py", "lineno": 50, "message": "ValueError: I/O operation on closed file"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 50, "message": "ValueError"}], "longrepr": "def test_file_handle_closed_error():\n # Accessing closed file raises ValueError\n f = io.StringIO(\"content\")\n f.close()\n> f.read()\nE ValueError: I/O operation on closed file\n\ntests/test_io_utils.py:50: ValueError"}, "teardown": {"duration": 0.00016968394629657269, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_os_error", "lineno": 51, "outcome": "failed", "keywords": ["test_os_error", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00025889603421092033, "outcome": "passed"}, "call": {"duration": 0.00019038794562220573, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_io_utils.py", "lineno": 55, "message": "OSError: Simulated OSError"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 57, "message": ""}, {"path": "tests/test_io_utils.py", "lineno": 55, "message": "OSError"}], "longrepr": "monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f261962f3d0>\n\n def test_os_error(monkeypatch):\n # Patch os.remove to raise OSError simulating filesystem error\n def raise_os_error(path):\n raise OSError(\"Simulated OSError\")\n monkeypatch.setattr(\"os.remove\", raise_os_error)\n> os.remove(\"file.txt\")\n\ntests/test_io_utils.py:57: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\npath = 'file.txt'\n\n def raise_os_error(path):\n> raise OSError(\"Simulated OSError\")\nE OSError: Simulated OSError\n\ntests/test_io_utils.py:55: OSError"}, "teardown": {"duration": 0.00017688795924186707, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_write_file_readonly", "lineno": 58, "outcome": "passed", "keywords": ["test_write_file_readonly", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0006215909961611032, "outcome": "passed"}, "call": {"duration": 0.0011481900000944734, "outcome": "passed"}, "teardown": {"duration": 0.0001429530093446374, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_file_not_found_error", "lineno": 66, "outcome": "failed", "keywords": ["test_file_not_found_error", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011623196769505739, "outcome": "passed"}, "call": {"duration": 0.00018097099382430315, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_io_utils.py", "lineno": 69, "message": "FileNotFoundError: [Errno 2] No such file or directory: 'no_such_file.txt'"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 69, "message": "FileNotFoundError"}], "longrepr": "def test_file_not_found_error():\n # Raises FileNotFoundError when opening a non-existent file\n> open(\"no_such_file.txt\", \"r\")\nE FileNotFoundError: [Errno 2] No such file or directory: 'no_such_file.txt'\n\ntests/test_io_utils.py:69: FileNotFoundError"}, "teardown": {"duration": 0.00014091399498283863, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_broken", "lineno": 13, "outcome": "failed", "keywords": ["test_broken", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00014645804185420275, "outcome": "passed"}, "call": {"duration": 0.00015079695731401443, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 16, "message": "NameError: name 'want_the_test_to_fail' is not defined"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 16, "message": "NameError"}], "longrepr": "def test_broken():\n # simulating a broken or faulty test implementation that will cause the test to error\n> want_the_test_to_fail\nE NameError: name 'want_the_test_to_fail' is not defined\n\ntests/test_math_utils.py:16: NameError"}, "teardown": {"duration": 0.00014328991528600454, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_call_missing_function", "lineno": 17, "outcome": "failed", "keywords": ["test_call_missing_function", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012253504246473312, "outcome": "passed"}, "call": {"duration": 0.0001507640117779374, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 20, "message": "AttributeError: module 'functions.math_utils' has no attribute 'non_existent_function'"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 20, "message": "AttributeError"}], "longrepr": "def test_call_missing_function():\n # Accessing a missing function attribute raises AttributeError\n> getattr(math_utils, \"non_existent_function\")()\nE AttributeError: module 'functions.math_utils' has no attribute 'non_existent_function'\n\ntests/test_math_utils.py:20: AttributeError"}, "teardown": {"duration": 0.00013867090456187725, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[2-2-4]", "lineno": 22, "outcome": "passed", "keywords": ["test_addition_pass[2-2-4]", "parametrize", "pytestmark", "2-2-4", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0003034439869225025, "outcome": "passed"}, "call": {"duration": 0.00014803989324718714, "outcome": "passed"}, "teardown": {"duration": 0.00014068104792386293, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[1-5-6]", "lineno": 22, "outcome": "passed", "keywords": ["test_addition_pass[1-5-6]", "parametrize", "pytestmark", "1-5-6", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00024591200053691864, "outcome": "passed"}, "call": {"duration": 0.00013735797256231308, "outcome": "passed"}, "teardown": {"duration": 0.00013681896962225437, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-4-7]", "lineno": 22, "outcome": "passed", "keywords": ["test_addition_pass[3-4-7]", "parametrize", "pytestmark", "3-4-7", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00024838594254106283, "outcome": "passed"}, "call": {"duration": 0.00013007596135139465, "outcome": "passed"}, "teardown": {"duration": 0.0001338130095973611, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-5-8]", "lineno": 22, "outcome": "passed", "keywords": ["test_addition_pass[3-5-8]", "parametrize", "pytestmark", "3-5-8", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00024303107056766748, "outcome": "passed"}, "call": {"duration": 0.00012504402548074722, "outcome": "passed"}, "teardown": {"duration": 0.00013052497524768114, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-6-9]", "lineno": 22, "outcome": "passed", "keywords": ["test_addition_pass[3-6-9]", "parametrize", "pytestmark", "3-6-9", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00023857003543525934, "outcome": "passed"}, "call": {"duration": 0.00013080297503620386, "outcome": "passed"}, "teardown": {"duration": 0.0001324550248682499, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=2,b=2,expected=4]", "lineno": 36, "outcome": "passed", "keywords": ["test_addition_pass_id[a=2,b=2,expected=4]", "parametrize", "pytestmark", "a=2,b=2,expected=4", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00023863802198320627, "outcome": "passed"}, "call": {"duration": 0.0001255940878763795, "outcome": "passed"}, "teardown": {"duration": 0.00013089203275740147, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=1,b=5,expected=6]", "lineno": 36, "outcome": "passed", "keywords": ["test_addition_pass_id[a=1,b=5,expected=6]", "parametrize", "pytestmark", "a=1,b=5,expected=6", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0002494610380381346, "outcome": "passed"}, "call": {"duration": 0.00013250706251710653, "outcome": "passed"}, "teardown": {"duration": 0.00013132498133927584, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=3,b=4,expected=7]", "lineno": 36, "outcome": "passed", "keywords": ["test_addition_pass_id[a=3,b=4,expected=7]", "parametrize", "pytestmark", "a=3,b=4,expected=7", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0002370099537074566, "outcome": "passed"}, "call": {"duration": 0.00012964894995093346, "outcome": "passed"}, "teardown": {"duration": 0.00013345899060368538, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_fail", "lineno": 48, "outcome": "failed", "keywords": ["test_addition_fail", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010646798182278872, "outcome": "passed"}, "call": {"duration": 0.00043980893678963184, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 51, "message": "assert 4 == 5\n + where 4 = addition(2, 2)"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 51, "message": "AssertionError"}], "longrepr": "def test_addition_fail():\n # Assertion failure: expected incorrect result\n> assert addition(2, 2) == 5\nE assert 4 == 5\nE + where 4 = addition(2, 2)\n\ntests/test_math_utils.py:51: AssertionError"}, "teardown": {"duration": 0.00013791699893772602, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_division_zero", "lineno": 52, "outcome": "failed", "keywords": ["test_division_zero", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011740904301404953, "outcome": "passed"}, "call": {"duration": 0.00015660899225622416, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/functions/math_utils.py", "lineno": 5, "message": "ZeroDivisionError: division by zero"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 55, "message": ""}, {"path": "functions/math_utils.py", "lineno": 5, "message": "ZeroDivisionError"}], "longrepr": "def test_division_zero():\n # Will raise ZeroDivisionError if not handled in division\n> division(1, 0)\n\ntests/test_math_utils.py:55: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\na = 1, b = 0\n\n def division(a, b):\n> return a / b\nE ZeroDivisionError: division by zero\n\nfunctions/math_utils.py:5: ZeroDivisionError"}, "teardown": {"duration": 0.0001387069933116436, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_multiply_xfail", "lineno": 56, "outcome": "xfailed", "keywords": ["test_multiply_xfail", "xfail", "pytestmark", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0001346260542050004, "outcome": "passed"}, "call": {"duration": 0.00027258601039648056, "outcome": "skipped", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 60, "message": "assert 4 == 5\n + where 4 = multiply(2, 2)"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 60, "message": "AssertionError"}], "longrepr": "@pytest.mark.xfail(reason=\"Expected failure\")\n def test_multiply_xfail():\n # Expected fail test (xfail): incorrect expected multiply result\n> assert multiply(2, 2) == 5\nE assert 4 == 5\nE + where 4 = multiply(2, 2)\n\ntests/test_math_utils.py:60: AssertionError"}, "teardown": {"duration": 0.0001539579825475812, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_runtime_error", "lineno": 61, "outcome": "failed", "keywords": ["test_runtime_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011952291242778301, "outcome": "passed"}, "call": {"duration": 0.0001456880709156394, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 64, "message": "RuntimeError: Forced runtime error"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 64, "message": "RuntimeError"}], "longrepr": "def test_runtime_error():\n # Test raises an uncaught RuntimeError\n> raise RuntimeError(\"Forced runtime error\")\nE RuntimeError: Forced runtime error\n\ntests/test_math_utils.py:64: RuntimeError"}, "teardown": {"duration": 0.00014008290600031614, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_memory_error", "lineno": 65, "outcome": "failed", "keywords": ["test_memory_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011796399485319853, "outcome": "passed"}, "call": {"duration": 0.00015989900566637516, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 68, "message": "MemoryError: Simulated memory error"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 68, "message": "MemoryError"}], "longrepr": "def test_memory_error():\n # Manually raise MemoryError to simulate out-of-memory condition\n> raise MemoryError(\"Simulated memory error\")\nE MemoryError: Simulated memory error\n\ntests/test_math_utils.py:68: MemoryError"}, "teardown": {"duration": 0.00013950990978628397, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_timeout_error", "lineno": 69, "outcome": "failed", "keywords": ["test_timeout_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011862500105053186, "outcome": "passed"}, "call": {"duration": 0.00014959194231778383, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 72, "message": "TimeoutError: Simulated timeout error"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 72, "message": "TimeoutError"}], "longrepr": "def test_timeout_error():\n # Manually raise TimeoutError simulating timeout conditions\n> raise TimeoutError(\"Simulated timeout error\")\nE TimeoutError: Simulated timeout error\n\ntests/test_math_utils.py:72: TimeoutError"}, "teardown": {"duration": 0.0001396980369463563, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_recursion_error", "lineno": 73, "outcome": "failed", "keywords": ["test_recursion_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0001204940490424633, "outcome": "passed"}, "call": {"duration": 0.0007857580203562975, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 77, "message": "RecursionError: maximum recursion depth exceeded"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 78, "message": ""}, {"path": "tests/test_math_utils.py", "lineno": 77, "message": "in recursive"}, {"path": "tests/test_math_utils.py", "lineno": 77, "message": "in recursive"}], "longrepr": "def test_recursion_error():\n # Infinite recursion triggers RecursionError\n def recursive():\n return recursive()\n> recursive()\n\ntests/test_math_utils.py:78: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \ntests/test_math_utils.py:77: in recursive\n return recursive()\ntests/test_math_utils.py:77: in recursive\n return recursive()\nE RecursionError: maximum recursion depth exceeded\n!!! Recursion detected (same locals & position)"}, "teardown": {"duration": 0.0001518219942227006, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_floating_point_error", "lineno": 79, "outcome": "failed", "keywords": ["test_floating_point_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011810706928372383, "outcome": "passed"}, "call": {"duration": 0.00014779705088585615, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 82, "message": "FloatingPointError: Simulated floating point error"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 82, "message": "FloatingPointError"}], "longrepr": "def test_floating_point_error():\n # Manually raise FloatingPointError\n> raise FloatingPointError(\"Simulated floating point error\")\nE FloatingPointError: Simulated floating point error\n\ntests/test_math_utils.py:82: FloatingPointError"}, "teardown": {"duration": 0.00014007696881890297, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_floating_point_overflow", "lineno": 83, "outcome": "failed", "keywords": ["test_floating_point_overflow", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011918507516384125, "outcome": "passed"}, "call": {"duration": 0.0001782599138095975, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 86, "message": "OverflowError: math range error"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 86, "message": "OverflowError"}], "longrepr": "def test_floating_point_overflow():\n # Exponential overflow triggers OverflowError\n> math.exp(1000)\nE OverflowError: math range error\n\ntests/test_math_utils.py:86: OverflowError"}, "teardown": {"duration": 0.00013821199536323547, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_value_error", "lineno": 87, "outcome": "failed", "keywords": ["test_value_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011956295929849148, "outcome": "passed"}, "call": {"duration": 0.00015363795682787895, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 90, "message": "ValueError: invalid literal for int() with base 10: 'invalid'"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 90, "message": "ValueError"}], "longrepr": "def test_value_error():\n # ValueError on invalid integer conversion\n> int(\"invalid\")\nE ValueError: invalid literal for int() with base 10: 'invalid'\n\ntests/test_math_utils.py:90: ValueError"}, "teardown": {"duration": 0.0001369729870930314, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_wrong_argument_error", "lineno": 91, "outcome": "failed", "keywords": ["test_wrong_argument_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0001155919162556529, "outcome": "passed"}, "call": {"duration": 0.00014950893819332123, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 94, "message": "TypeError: 'int' object is not iterable"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 94, "message": "TypeError"}], "longrepr": "def test_wrong_argument_error():\n # TypeError when passing wrong argument type to sum\n> sum(5)\nE TypeError: 'int' object is not iterable\n\ntests/test_math_utils.py:94: TypeError"}, "teardown": {"duration": 0.00013560301158577204, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_unhandled_exception", "lineno": 95, "outcome": "failed", "keywords": ["test_unhandled_exception", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012946699280291796, "outcome": "passed"}, "call": {"duration": 0.0001455700257793069, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 98, "message": "Exception: Generic unhandled exception"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 98, "message": "Exception"}], "longrepr": "def test_unhandled_exception():\n # Raises generic unhandled Exception\n> raise Exception(\"Generic unhandled exception\")\nE Exception: Generic unhandled exception\n\ntests/test_math_utils.py:98: Exception"}, "teardown": {"duration": 0.00015155004803091288, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_custom_error", "lineno": 99, "outcome": "failed", "keywords": ["test_custom_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012302107643336058, "outcome": "passed"}, "call": {"duration": 0.00014722696505486965, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 102, "message": "test_math_utils.CustomError: Custom error simulation"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 102, "message": "CustomError"}], "longrepr": "def test_custom_error():\n # Raises user-defined CustomError exception\n> raise CustomError(\"Custom error simulation\")\nE test_math_utils.CustomError: Custom error simulation\n\ntests/test_math_utils.py:102: CustomError"}, "teardown": {"duration": 0.00013606692664325237, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_stop_iteration_direct", "lineno": 103, "outcome": "failed", "keywords": ["test_stop_iteration_direct", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011807889677584171, "outcome": "passed"}, "call": {"duration": 0.00015284097753465176, "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():\n # Directly raise StopIteration exception\n> raise StopIteration()\nE StopIteration\n\ntests/test_math_utils.py:106: StopIteration\n\nThe above exception was the direct cause of the following exception:\n\ncls = \nfunc = . at 0x7f261953c9d0>\nwhen = 'call'\nreraise = (, )\n\n @classmethod\n def from_call(\n cls,\n func: Callable[[], TResult],\n when: Literal[\"collect\", \"setup\", \"call\", \"teardown\"],\n reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None,\n ) -> CallInfo[TResult]:\n \"\"\"Call func, wrapping the result in a CallInfo.\n \n :param func:\n The function to call. Called without arguments.\n :type func: Callable[[], _pytest.runner.TResult]\n :param when:\n The phase in which the function is called.\n :param reraise:\n Exception or exceptions that shall propagate if raised by the\n function, instead of being wrapped in the CallInfo.\n \"\"\"\n excinfo = None\n start = timing.time()\n precise_start = timing.perf_counter()\n try:\n> result: TResult | None = func()\n\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py:341: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n.pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py:242: in \n lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise\n.pixi/envs/default/lib/python3.8/site-packages/pluggy/_hooks.py:513: in __call__\n return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n.pixi/envs/default/lib/python3.8/site-packages/pluggy/_manager.py:120: in _hookexec\n return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py:92: in pytest_runtest_call\n yield from thread_exception_runtest_hook()\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py:68: in thread_exception_runtest_hook\n yield\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py:95: in pytest_runtest_call\n yield from unraisable_exception_runtest_hook()\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py:70: in unraisable_exception_runtest_hook\n yield\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py:846: in pytest_runtest_call\n yield from self._runtest_for(item, \"call\")\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py:829: in _runtest_for\n yield\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = _capture_fixture=None>\nitem = \n\n @hookimpl(wrapper=True)\n def pytest_runtest_call(self, item: Item) -> Generator[None]:\n with self.item_capture(\"call\", item):\n> return (yield)\nE RuntimeError: generator raised StopIteration\n\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py:880: RuntimeError"}, "teardown": {"duration": 0.00024311593733727932, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_generator_exit_direct", "lineno": 107, "outcome": "failed", "keywords": ["test_generator_exit_direct", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00013681699056178331, "outcome": "passed"}, "call": {"duration": 0.0001680069835856557, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 110, "message": "GeneratorExit"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 110, "message": "GeneratorExit"}], "longrepr": "def test_generator_exit_direct():\n # Directly raise GeneratorExit exception\n> raise GeneratorExit()\nE GeneratorExit\n\ntests/test_math_utils.py:110: GeneratorExit"}, "teardown": {"duration": 0.00018797500524669886, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_malformed_code", "lineno": 111, "outcome": "failed", "keywords": ["test_malformed_code", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012804497964680195, "outcome": "passed"}, "call": {"duration": 0.00016860198229551315, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 114, "message": " File \"\", line 1\n def bad(:\n ^\nSyntaxError: invalid syntax"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 114, "message": "SyntaxError"}], "longrepr": "def test_malformed_code():\n # SyntaxError when executing malformed Python code\n> exec(\"def bad(:\\n pass\")\nE File \"\", line 1\nE def bad(:\nE ^\nE SyntaxError: invalid syntax\n\ntests/test_math_utils.py:114: SyntaxError"}, "teardown": {"duration": 0.00016344792675226927, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_sys_exit", "lineno": 115, "outcome": "failed", "keywords": ["test_sys_exit", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00013244105502963066, "outcome": "passed"}, "call": {"duration": 0.00015499000437557697, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 118, "message": "SystemExit: 1"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 118, "message": "SystemExit"}], "longrepr": "def test_sys_exit():\n # Simulate SystemExit via sys.exit\n> sys.exit(1)\nE SystemExit: 1\n\ntests/test_math_utils.py:118: SystemExit"}, "teardown": {"duration": 0.00015029101632535458, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_broken_function", "lineno": 119, "outcome": "failed", "keywords": ["test_broken_function", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011955806985497475, "outcome": "passed"}, "call": {"duration": 0.00015606300439685583, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 123, "message": "TypeError: Broken function"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 124, "message": ""}, {"path": "tests/test_math_utils.py", "lineno": 123, "message": "TypeError"}], "longrepr": "def test_broken_function():\n # Simulate broken function raising TypeError\n def broken_func(*args, **kwargs):\n raise TypeError(\"Broken function\")\n> broken_func()\n\ntests/test_math_utils.py:124: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nargs = (), kwargs = {}\n\n def broken_func(*args, **kwargs):\n> raise TypeError(\"Broken function\")\nE TypeError: Broken function\n\ntests/test_math_utils.py:123: TypeError"}, "teardown": {"duration": 0.00014679902233183384, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_import_error", "lineno": 125, "outcome": "failed", "keywords": ["test_import_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012254307512193918, "outcome": "passed"}, "call": {"duration": 0.0001563049154356122, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 127, "message": "ImportError: Simulated ImportError"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 127, "message": "ImportError"}], "longrepr": "def test_import_error():\n> raise ImportError(\"Simulated ImportError\")\nE ImportError: Simulated ImportError\n\ntests/test_math_utils.py:127: ImportError"}, "teardown": {"duration": 0.00014412892051041126, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_module_not_found_error", "lineno": 128, "outcome": "failed", "keywords": ["test_module_not_found_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012039998546242714, "outcome": "passed"}, "call": {"duration": 0.0004975510528311133, "outcome": "failed", "crash": {"path": "", "lineno": 973, "message": "ModuleNotFoundError: No module named 'non_existent_module_xyz'"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 131, "message": ""}, {"path": ".pixi/envs/default/lib/python3.8/importlib/__init__.py", "lineno": 127, "message": "in import_module"}, {"path": "", "lineno": 1014, "message": "in _gcd_import"}, {"path": "", "lineno": 991, "message": "in _find_and_load"}, {"path": "", "lineno": 973, "message": "ModuleNotFoundError"}], "longrepr": "def test_module_not_found_error():\n # Raises ModuleNotFoundError (subclass of ImportError) for missing module\n> importlib.import_module(\"non_existent_module_xyz\")\n\ntests/test_math_utils.py:131: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n:1014: in _gcd_import\n ???\n:991: in _find_and_load\n ???\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nname = 'non_existent_module_xyz'\nimport_ = \n\n> ???\nE ModuleNotFoundError: No module named 'non_existent_module_xyz'\n\n:973: ModuleNotFoundError"}, "teardown": {"duration": 0.00015259406063705683, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "lineno": 7, "outcome": "passed", "keywords": ["test_uppercase_normal", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00015323993284255266, "outcome": "passed"}, "call": {"duration": 0.00014800101052969694, "outcome": "passed"}, "teardown": {"duration": 0.00010280194692313671, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "lineno": 11, "outcome": "failed", "keywords": ["test_uppercase_type_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010716007091104984, "outcome": "passed"}, "call": {"duration": 0.0001441549975425005, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/functions/string_utils.py", "lineno": 3, "message": "TypeError: Input cannot be None"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 14, "message": ""}, {"path": "functions/string_utils.py", "lineno": 3, "message": "TypeError"}], "longrepr": "def test_uppercase_type_error():\n # TypeError when input is None (invalid input)\n> uppercase(None)\n\ntests/test_string_utils.py:14: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\ns = None\n\n def uppercase(s):\n if s is None:\n> raise TypeError(\"Input cannot be None\")\nE TypeError: Input cannot be None\n\nfunctions/string_utils.py:3: TypeError"}, "teardown": {"duration": 0.00014143192674964666, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "lineno": 15, "outcome": "passed", "keywords": ["test_reverse_string", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012213701847940683, "outcome": "passed"}, "call": {"duration": 0.00014193798415362835, "outcome": "passed"}, "teardown": {"duration": 0.00010070204734802246, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "lineno": 19, "outcome": "passed", "keywords": ["test_warning_emit", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011763698421418667, "outcome": "passed"}, "call": {"duration": 0.00014341098722070456, "outcome": "passed"}, "teardown": {"duration": 9.550491813570261e-05, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "lineno": 23, "outcome": "failed", "keywords": ["test_unicode_decode_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010487902909517288, "outcome": "passed"}, "call": {"duration": 0.0001544139813631773, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 26, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 26, "message": "UnicodeDecodeError"}], "longrepr": "def test_unicode_decode_error():\n # UnicodeDecodeError when decoding invalid byte sequence\n> b'\\xff'.decode('utf-8')\nE UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte\n\ntests/test_string_utils.py:26: UnicodeDecodeError"}, "teardown": {"duration": 0.00013813399709761143, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "lineno": 27, "outcome": "failed", "keywords": ["test_unicode_decode_surrogateescape", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011871405877172947, "outcome": "passed"}, "call": {"duration": 0.0001553000183776021, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 30, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 30, "message": "UnicodeDecodeError"}], "longrepr": "def test_unicode_decode_surrogateescape():\n # UnicodeDecodeError with strict error handler on invalid byte\n> b\"\\x80\".decode(\"utf-8\", errors=\"strict\")\nE UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte\n\ntests/test_string_utils.py:30: UnicodeDecodeError"}, "teardown": {"duration": 0.00013959105126559734, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_import_warning", "lineno": 31, "outcome": "passed", "keywords": ["test_import_warning", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011802604421973228, "outcome": "passed"}, "call": {"duration": 0.00014334602747112513, "outcome": "passed"}, "teardown": {"duration": 0.00010712002404034138, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "lineno": 35, "outcome": "xfailed", "keywords": ["test_xfail_uppercase_digits", "xfail", "pytestmark", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012081093154847622, "outcome": "passed"}, "call": {"duration": 0.0006233849562704563, "outcome": "skipped", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 39, "message": "AssertionError: assert 'ABC123' == 'ABC1234'\n \n - ABC1234\n ? -\n + ABC123"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 39, "message": "AssertionError"}], "longrepr": "@pytest.mark.xfail(reason=\"Expected failure: uppercase does not handle digits\")\n def test_xfail_uppercase_digits():\n # Expected fail test because uppercase won't change digits\n> assert uppercase(\"abc123\") == \"ABC1234\"\nE AssertionError: assert 'ABC123' == 'ABC1234'\nE \nE - ABC1234\nE ? -\nE + ABC123\n\ntests/test_string_utils.py:39: AssertionError"}, "teardown": {"duration": 0.00013870000839233398, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_keyboard_interrupt_direct", "lineno": 40, "outcome": "passed", "keywords": ["test_keyboard_interrupt_direct", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012300803791731596, "outcome": "passed"}}], "warnings": [{"message": "Test warning", "category": "UserWarning", "when": "runtest", "filename": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 22}]} \ No newline at end of file +{"created": 1752623834.0340815, "duration": 0.6891283988952637, "exitcode": 2, "root": "/workspace/tligui_y/slic", "environment": {}, "summary": {"passed": 16, "failed": 31, "xfailed": 2, "total": 49, "collected": 49}, "collectors": [{"nodeid": "", "outcome": "passed", "result": [{"nodeid": ".", "type": "Dir"}]}, {"nodeid": "ci-reports/allure/data", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/export", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/history", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin/behaviors", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin/packages", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin/screen-diff", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin", "outcome": "passed", "result": [{"nodeid": "ci-reports/allure/plugin/behaviors", "type": "Dir"}, {"nodeid": "ci-reports/allure/plugin/packages", "type": "Dir"}, {"nodeid": "ci-reports/allure/plugin/screen-diff", "type": "Dir"}]}, {"nodeid": "ci-reports/allure/widgets", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure", "outcome": "passed", "result": [{"nodeid": "ci-reports/allure/data", "type": "Dir"}, {"nodeid": "ci-reports/allure/export", "type": "Dir"}, {"nodeid": "ci-reports/allure/history", "type": "Dir"}, {"nodeid": "ci-reports/allure/plugin", "type": "Dir"}, {"nodeid": "ci-reports/allure/widgets", "type": "Dir"}]}, {"nodeid": "ci-reports/coverage", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/markdown", "outcome": "passed", "result": []}, {"nodeid": "ci-reports", "outcome": "passed", "result": [{"nodeid": "ci-reports/allure", "type": "Dir"}, {"nodeid": "ci-reports/coverage", "type": "Dir"}, {"nodeid": "ci-reports/markdown", "type": "Dir"}]}, {"nodeid": "functions", "outcome": "passed", "result": []}, {"nodeid": "tests/test_broken_fct.py", "outcome": "failed", "result": [], "longrepr": ".pixi/envs/default/lib/python3.8/site-packages/_pytest/python.py:493: in importtestmodule\n mod = import_path(\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/pathlib.py:587: in import_path\n importlib.import_module(module_name)\n.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n:1014: in _gcd_import\n ???\n:991: in _find_and_load\n ???\n:975: in _find_and_load_unlocked\n ???\n:671: in _load_unlocked\n ???\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:175: in exec_module\n source_stat, co = _rewrite_test(fn, self.config)\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:355: in _rewrite_test\n tree = ast.parse(source, filename=strfn)\n.pixi/envs/default/lib/python3.8/ast.py:47: in parse\n return compile(source, filename, mode, flags,\nE File \"/workspace/tligui_y/slic/tests/test_broken_fct.py\", line 8\nE def test_valid_2():\nE ^\nE SyntaxError: invalid syntax"}, {"nodeid": "tests/test_collector_error.py", "outcome": "failed", "result": [], "longrepr": "ImportError while importing test module '/workspace/tligui_y/slic/tests/test_collector_error.py'.\nHint: make sure your test modules/packages have valid Python names.\nTraceback:\n.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\ntests/test_collector_error.py:1: in \n from no_existing_module.math_utils import *\nE ModuleNotFoundError: No module named 'no_existing_module'"}, {"nodeid": "tests/test_io_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_io_utils.py::test_read_file", "type": "Function", "lineno": 9}, {"nodeid": "tests/test_io_utils.py::test_write_file", "type": "Function", "lineno": 16}, {"nodeid": "tests/test_io_utils.py::test_cause_io_error", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_io_utils.py::test_file_not_found", "type": "Function", "lineno": 26}, {"nodeid": "tests/test_io_utils.py::test_permission_error", "type": "Function", "lineno": 30}, {"nodeid": "tests/test_io_utils.py::test_mock_open_error", "type": "Function", "lineno": 37}, {"nodeid": "tests/test_io_utils.py::test_file_handle_closed_error", "type": "Function", "lineno": 45}, {"nodeid": "tests/test_io_utils.py::test_os_error", "type": "Function", "lineno": 51}, {"nodeid": "tests/test_io_utils.py::test_write_file_readonly", "type": "Function", "lineno": 58}, {"nodeid": "tests/test_io_utils.py::test_file_not_found_error", "type": "Function", "lineno": 66}]}, {"nodeid": "tests/test_math_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_math_utils.py::test_broken", "type": "Function", "lineno": 13}, {"nodeid": "tests/test_math_utils.py::test_call_missing_function", "type": "Function", "lineno": 17}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[2-2-4]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[1-5-6]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-4-7]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-5-8]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-6-9]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=2,b=2,expected=4]", "type": "Function", "lineno": 36}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=1,b=5,expected=6]", "type": "Function", "lineno": 36}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=3,b=4,expected=7]", "type": "Function", "lineno": 36}, {"nodeid": "tests/test_math_utils.py::test_addition_fail", "type": "Function", "lineno": 48}, {"nodeid": "tests/test_math_utils.py::test_division_zero", "type": "Function", "lineno": 52}, {"nodeid": "tests/test_math_utils.py::test_multiply_xfail", "type": "Function", "lineno": 56}, {"nodeid": "tests/test_math_utils.py::test_runtime_error", "type": "Function", "lineno": 61}, {"nodeid": "tests/test_math_utils.py::test_memory_error", "type": "Function", "lineno": 65}, {"nodeid": "tests/test_math_utils.py::test_timeout_error", "type": "Function", "lineno": 69}, {"nodeid": "tests/test_math_utils.py::test_recursion_error", "type": "Function", "lineno": 73}, {"nodeid": "tests/test_math_utils.py::test_floating_point_error", "type": "Function", "lineno": 79}, {"nodeid": "tests/test_math_utils.py::test_floating_point_overflow", "type": "Function", "lineno": 83}, {"nodeid": "tests/test_math_utils.py::test_value_error", "type": "Function", "lineno": 87}, {"nodeid": "tests/test_math_utils.py::test_wrong_argument_error", "type": "Function", "lineno": 91}, {"nodeid": "tests/test_math_utils.py::test_unhandled_exception", "type": "Function", "lineno": 95}, {"nodeid": "tests/test_math_utils.py::test_custom_error", "type": "Function", "lineno": 99}, {"nodeid": "tests/test_math_utils.py::test_stop_iteration_direct", "type": "Function", "lineno": 103}, {"nodeid": "tests/test_math_utils.py::test_generator_exit_direct", "type": "Function", "lineno": 107}, {"nodeid": "tests/test_math_utils.py::test_malformed_code", "type": "Function", "lineno": 111}, {"nodeid": "tests/test_math_utils.py::test_sys_exit", "type": "Function", "lineno": 115}, {"nodeid": "tests/test_math_utils.py::test_broken_function", "type": "Function", "lineno": 119}, {"nodeid": "tests/test_math_utils.py::test_import_error", "type": "Function", "lineno": 125}, {"nodeid": "tests/test_math_utils.py::test_module_not_found_error", "type": "Function", "lineno": 128}]}, {"nodeid": "tests/test_string_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "type": "Function", "lineno": 7}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "type": "Function", "lineno": 11}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "type": "Function", "lineno": 15}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "type": "Function", "lineno": 19}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "type": "Function", "lineno": 23}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "type": "Function", "lineno": 27}, {"nodeid": "tests/test_string_utils.py::test_import_warning", "type": "Function", "lineno": 31}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "type": "Function", "lineno": 35}, {"nodeid": "tests/test_string_utils.py::test_keyboard_interrupt_direct", "type": "Function", "lineno": 40}]}, {"nodeid": "tests", "outcome": "passed", "result": [{"nodeid": "tests/test_broken_fct.py", "type": "Module"}, {"nodeid": "tests/test_collector_error.py", "type": "Module"}, {"nodeid": "tests/test_io_utils.py", "type": "Module"}, {"nodeid": "tests/test_math_utils.py", "type": "Module"}, {"nodeid": "tests/test_string_utils.py", "type": "Module"}]}, {"nodeid": ".", "outcome": "passed", "result": [{"nodeid": "ci-reports", "type": "Dir"}, {"nodeid": "functions", "type": "Package"}, {"nodeid": "tests", "type": "Dir"}]}], "tests": [{"nodeid": "tests/test_io_utils.py::test_read_file", "lineno": 9, "outcome": "passed", "keywords": ["test_read_file", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.003236689022742212, "outcome": "passed"}, "call": {"duration": 0.00043663010001182556, "outcome": "passed"}, "teardown": {"duration": 0.00024795206263661385, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_write_file", "lineno": 16, "outcome": "passed", "keywords": ["test_write_file", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00044836197048425674, "outcome": "passed"}, "call": {"duration": 0.00027969491202384233, "outcome": "passed"}, "teardown": {"duration": 0.0001451439457014203, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_cause_io_error", "lineno": 22, "outcome": "failed", "keywords": ["test_cause_io_error", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00014490890316665173, "outcome": "passed"}, "call": {"duration": 0.0001545820850878954, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/functions/io_utils.py", "lineno": 10, "message": "OSError: Forced IO Error for testing"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 25, "message": ""}, {"path": "functions/io_utils.py", "lineno": 10, "message": "OSError"}], "longrepr": "def test_cause_io_error():\n # Raises manual IOError to simulate IO failure\n> cause_io_error()\n\ntests/test_io_utils.py:25: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\n def cause_io_error():\n> raise IOError(\"Forced IO Error for testing\")\nE OSError: Forced IO Error for testing\n\nfunctions/io_utils.py:10: OSError"}, "teardown": {"duration": 0.00013731000944972038, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_file_not_found", "lineno": 26, "outcome": "failed", "keywords": ["test_file_not_found", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011682894546538591, "outcome": "passed"}, "call": {"duration": 0.00018801505211740732, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/functions/io_utils.py", "lineno": 2, "message": "FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.file'"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 29, "message": ""}, {"path": "functions/io_utils.py", "lineno": 2, "message": "FileNotFoundError"}], "longrepr": "def test_file_not_found():\n # Reading non-existing file raises FileNotFoundError\n> read_file(\"nonexistent.file\")\n\ntests/test_io_utils.py:29: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\npath = 'nonexistent.file'\n\n def read_file(path):\n> with open(path, \"r\", encoding=\"utf-8\") as f:\nE FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.file'\n\nfunctions/io_utils.py:2: FileNotFoundError"}, "teardown": {"duration": 0.00013748998753726482, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_permission_error", "lineno": 30, "outcome": "failed", "keywords": ["test_permission_error", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.000191607978194952, "outcome": "passed"}, "call": {"duration": 0.0001693369122222066, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_io_utils.py", "lineno": 34, "message": "PermissionError: Permission denied"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 36, "message": ""}, {"path": "functions/io_utils.py", "lineno": 2, "message": "in read_file"}, {"path": "tests/test_io_utils.py", "lineno": 34, "message": "PermissionError"}], "longrepr": "monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6cff624fd0>\n\n def test_permission_error(monkeypatch):\n # Patch open to raise PermissionError simulating access denial\n def raise_perm_error(*args, **kwargs):\n raise PermissionError(\"Permission denied\")\n monkeypatch.setattr(\"builtins.open\", raise_perm_error)\n> read_file(\"anyfile.txt\")\n\ntests/test_io_utils.py:36: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \nfunctions/io_utils.py:2: in read_file\n with open(path, \"r\", encoding=\"utf-8\") as f:\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nargs = ('anyfile.txt', 'r'), kwargs = {'encoding': 'utf-8'}\n\n def raise_perm_error(*args, **kwargs):\n> raise PermissionError(\"Permission denied\")\nE PermissionError: Permission denied\n\ntests/test_io_utils.py:34: PermissionError"}, "teardown": {"duration": 0.0001589729217812419, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_mock_open_error", "lineno": 37, "outcome": "failed", "keywords": ["test_mock_open_error", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0001828729873523116, "outcome": "passed"}, "call": {"duration": 0.003169858013279736, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/unittest/mock.py", "lineno": 1140, "message": "OSError: Mocked IOError"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 43, "message": ""}, {"path": ".pixi/envs/default/lib/python3.8/unittest/mock.py", "lineno": 1081, "message": "in __call__"}, {"path": ".pixi/envs/default/lib/python3.8/unittest/mock.py", "lineno": 1085, "message": "in _mock_call"}, {"path": ".pixi/envs/default/lib/python3.8/unittest/mock.py", "lineno": 1140, "message": "OSError"}], "longrepr": "monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6cffb449a0>\n\n def test_mock_open_error(monkeypatch):\n # Mock open() to raise IOError simulating read error\n mocked_open = mock.mock_open()\n mocked_open.side_effect = IOError(\"Mocked IOError\")\n monkeypatch.setattr(\"builtins.open\", mocked_open)\n> with open(\"file.txt\", \"r\") as f:\n\ntests/test_io_utils.py:43: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n.pixi/envs/default/lib/python3.8/unittest/mock.py:1081: in __call__\n return self._mock_call(*args, **kwargs)\n.pixi/envs/default/lib/python3.8/unittest/mock.py:1085: in _mock_call\n return self._execute_mock_call(*args, **kwargs)\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = \nargs = ('file.txt', 'r'), kwargs = {}, effect = OSError('Mocked IOError')\n\n def _execute_mock_call(self, /, *args, **kwargs):\n # separate from _increment_mock_call so that awaited functions are\n # executed separately from their call, also AsyncMock overrides this method\n \n effect = self.side_effect\n if effect is not None:\n if _is_exception(effect):\n> raise effect\nE OSError: Mocked IOError\n\n.pixi/envs/default/lib/python3.8/unittest/mock.py:1140: OSError"}, "teardown": {"duration": 0.00027472502551972866, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_file_handle_closed_error", "lineno": 45, "outcome": "failed", "keywords": ["test_file_handle_closed_error", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00013450393453240395, "outcome": "passed"}, "call": {"duration": 0.00017155299428850412, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_io_utils.py", "lineno": 50, "message": "ValueError: I/O operation on closed file"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 50, "message": "ValueError"}], "longrepr": "def test_file_handle_closed_error():\n # Accessing closed file raises ValueError\n f = io.StringIO(\"content\")\n f.close()\n> f.read()\nE ValueError: I/O operation on closed file\n\ntests/test_io_utils.py:50: ValueError"}, "teardown": {"duration": 0.00016083300579339266, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_os_error", "lineno": 51, "outcome": "failed", "keywords": ["test_os_error", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00022398901637643576, "outcome": "passed"}, "call": {"duration": 0.00018240895587950945, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_io_utils.py", "lineno": 55, "message": "OSError: Simulated OSError"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 57, "message": ""}, {"path": "tests/test_io_utils.py", "lineno": 55, "message": "OSError"}], "longrepr": "monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6cff624d30>\n\n def test_os_error(monkeypatch):\n # Patch os.remove to raise OSError simulating filesystem error\n def raise_os_error(path):\n raise OSError(\"Simulated OSError\")\n monkeypatch.setattr(\"os.remove\", raise_os_error)\n> os.remove(\"file.txt\")\n\ntests/test_io_utils.py:57: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\npath = 'file.txt'\n\n def raise_os_error(path):\n> raise OSError(\"Simulated OSError\")\nE OSError: Simulated OSError\n\ntests/test_io_utils.py:55: OSError"}, "teardown": {"duration": 0.00016778998542577028, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_write_file_readonly", "lineno": 58, "outcome": "passed", "keywords": ["test_write_file_readonly", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0006421370198950171, "outcome": "passed"}, "call": {"duration": 0.0008758510230109096, "outcome": "passed"}, "teardown": {"duration": 0.0001534509938210249, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_file_not_found_error", "lineno": 66, "outcome": "failed", "keywords": ["test_file_not_found_error", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011349795386195183, "outcome": "passed"}, "call": {"duration": 0.00016405293717980385, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_io_utils.py", "lineno": 69, "message": "FileNotFoundError: [Errno 2] No such file or directory: 'no_such_file.txt'"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 69, "message": "FileNotFoundError"}], "longrepr": "def test_file_not_found_error():\n # Raises FileNotFoundError when opening a non-existent file\n> open(\"no_such_file.txt\", \"r\")\nE FileNotFoundError: [Errno 2] No such file or directory: 'no_such_file.txt'\n\ntests/test_io_utils.py:69: FileNotFoundError"}, "teardown": {"duration": 0.0001349730882793665, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_broken", "lineno": 13, "outcome": "failed", "keywords": ["test_broken", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012546998914331198, "outcome": "passed"}, "call": {"duration": 0.00015429500490427017, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 16, "message": "NameError: name 'want_the_test_to_fail' is not defined"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 16, "message": "NameError"}], "longrepr": "def test_broken():\n # simulating a broken or faulty test implementation that will cause the test to error\n> want_the_test_to_fail\nE NameError: name 'want_the_test_to_fail' is not defined\n\ntests/test_math_utils.py:16: NameError"}, "teardown": {"duration": 0.00013370299711823463, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_call_missing_function", "lineno": 17, "outcome": "failed", "keywords": ["test_call_missing_function", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0001275429967790842, "outcome": "passed"}, "call": {"duration": 0.00015266297850757837, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 20, "message": "AttributeError: module 'functions.math_utils' has no attribute 'non_existent_function'"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 20, "message": "AttributeError"}], "longrepr": "def test_call_missing_function():\n # Accessing a missing function attribute raises AttributeError\n> getattr(math_utils, \"non_existent_function\")()\nE AttributeError: module 'functions.math_utils' has no attribute 'non_existent_function'\n\ntests/test_math_utils.py:20: AttributeError"}, "teardown": {"duration": 0.00013592198956757784, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[2-2-4]", "lineno": 22, "outcome": "passed", "keywords": ["test_addition_pass[2-2-4]", "parametrize", "pytestmark", "2-2-4", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00028281298000365496, "outcome": "passed"}, "call": {"duration": 0.0001441900385543704, "outcome": "passed"}, "teardown": {"duration": 0.00013924099039286375, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[1-5-6]", "lineno": 22, "outcome": "passed", "keywords": ["test_addition_pass[1-5-6]", "parametrize", "pytestmark", "1-5-6", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00024184701032936573, "outcome": "passed"}, "call": {"duration": 0.000147148035466671, "outcome": "passed"}, "teardown": {"duration": 0.00013544689863920212, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-4-7]", "lineno": 22, "outcome": "passed", "keywords": ["test_addition_pass[3-4-7]", "parametrize", "pytestmark", "3-4-7", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00024229101836681366, "outcome": "passed"}, "call": {"duration": 0.00014468992594629526, "outcome": "passed"}, "teardown": {"duration": 0.0001321269664913416, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-5-8]", "lineno": 22, "outcome": "passed", "keywords": ["test_addition_pass[3-5-8]", "parametrize", "pytestmark", "3-5-8", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0002471000188961625, "outcome": "passed"}, "call": {"duration": 0.00013938697520643473, "outcome": "passed"}, "teardown": {"duration": 0.00013254594523459673, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-6-9]", "lineno": 22, "outcome": "passed", "keywords": ["test_addition_pass[3-6-9]", "parametrize", "pytestmark", "3-6-9", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00023106997832655907, "outcome": "passed"}, "call": {"duration": 0.00013192207552492619, "outcome": "passed"}, "teardown": {"duration": 0.0001359529560431838, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=2,b=2,expected=4]", "lineno": 36, "outcome": "passed", "keywords": ["test_addition_pass_id[a=2,b=2,expected=4]", "parametrize", "pytestmark", "a=2,b=2,expected=4", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.000247549032792449, "outcome": "passed"}, "call": {"duration": 0.0001261300640180707, "outcome": "passed"}, "teardown": {"duration": 0.0001300550065934658, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=1,b=5,expected=6]", "lineno": 36, "outcome": "passed", "keywords": ["test_addition_pass_id[a=1,b=5,expected=6]", "parametrize", "pytestmark", "a=1,b=5,expected=6", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00023221701849251986, "outcome": "passed"}, "call": {"duration": 0.0001222280552610755, "outcome": "passed"}, "teardown": {"duration": 0.00013548997230827808, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=3,b=4,expected=7]", "lineno": 36, "outcome": "passed", "keywords": ["test_addition_pass_id[a=3,b=4,expected=7]", "parametrize", "pytestmark", "a=3,b=4,expected=7", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00023831601720303297, "outcome": "passed"}, "call": {"duration": 0.00012567290104925632, "outcome": "passed"}, "teardown": {"duration": 0.000128862913697958, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_addition_fail", "lineno": 48, "outcome": "failed", "keywords": ["test_addition_fail", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010635401122272015, "outcome": "passed"}, "call": {"duration": 0.0004323599860072136, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 51, "message": "assert 4 == 5\n + where 4 = addition(2, 2)"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 51, "message": "AssertionError"}], "longrepr": "def test_addition_fail():\n # Assertion failure: expected incorrect result\n> assert addition(2, 2) == 5\nE assert 4 == 5\nE + where 4 = addition(2, 2)\n\ntests/test_math_utils.py:51: AssertionError"}, "teardown": {"duration": 0.00013238296378403902, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_division_zero", "lineno": 52, "outcome": "failed", "keywords": ["test_division_zero", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011896691285073757, "outcome": "passed"}, "call": {"duration": 0.00015181303024291992, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/functions/math_utils.py", "lineno": 5, "message": "ZeroDivisionError: division by zero"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 55, "message": ""}, {"path": "functions/math_utils.py", "lineno": 5, "message": "ZeroDivisionError"}], "longrepr": "def test_division_zero():\n # Will raise ZeroDivisionError if not handled in division\n> division(1, 0)\n\ntests/test_math_utils.py:55: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\na = 1, b = 0\n\n def division(a, b):\n> return a / b\nE ZeroDivisionError: division by zero\n\nfunctions/math_utils.py:5: ZeroDivisionError"}, "teardown": {"duration": 0.00013562897220253944, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_multiply_xfail", "lineno": 56, "outcome": "xfailed", "keywords": ["test_multiply_xfail", "xfail", "pytestmark", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00013229798059910536, "outcome": "passed"}, "call": {"duration": 0.00025132298469543457, "outcome": "skipped", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 60, "message": "assert 4 == 5\n + where 4 = multiply(2, 2)"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 60, "message": "AssertionError"}], "longrepr": "@pytest.mark.xfail(reason=\"Expected failure\")\n def test_multiply_xfail():\n # Expected fail test (xfail): incorrect expected multiply result\n> assert multiply(2, 2) == 5\nE assert 4 == 5\nE + where 4 = multiply(2, 2)\n\ntests/test_math_utils.py:60: AssertionError"}, "teardown": {"duration": 0.00013276003301143646, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_runtime_error", "lineno": 61, "outcome": "failed", "keywords": ["test_runtime_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011789693962782621, "outcome": "passed"}, "call": {"duration": 0.00014603696763515472, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 64, "message": "RuntimeError: Forced runtime error"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 64, "message": "RuntimeError"}], "longrepr": "def test_runtime_error():\n # Test raises an uncaught RuntimeError\n> raise RuntimeError(\"Forced runtime error\")\nE RuntimeError: Forced runtime error\n\ntests/test_math_utils.py:64: RuntimeError"}, "teardown": {"duration": 0.0001329140504822135, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_memory_error", "lineno": 65, "outcome": "failed", "keywords": ["test_memory_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00013306003529578447, "outcome": "passed"}, "call": {"duration": 0.00014796701725572348, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 68, "message": "MemoryError: Simulated memory error"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 68, "message": "MemoryError"}], "longrepr": "def test_memory_error():\n # Manually raise MemoryError to simulate out-of-memory condition\n> raise MemoryError(\"Simulated memory error\")\nE MemoryError: Simulated memory error\n\ntests/test_math_utils.py:68: MemoryError"}, "teardown": {"duration": 0.00014562008436769247, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_timeout_error", "lineno": 69, "outcome": "failed", "keywords": ["test_timeout_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011535908561199903, "outcome": "passed"}, "call": {"duration": 0.00015190406702458858, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 72, "message": "TimeoutError: Simulated timeout error"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 72, "message": "TimeoutError"}], "longrepr": "def test_timeout_error():\n # Manually raise TimeoutError simulating timeout conditions\n> raise TimeoutError(\"Simulated timeout error\")\nE TimeoutError: Simulated timeout error\n\ntests/test_math_utils.py:72: TimeoutError"}, "teardown": {"duration": 0.00013192696496844292, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_recursion_error", "lineno": 73, "outcome": "failed", "keywords": ["test_recursion_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012813997454941273, "outcome": "passed"}, "call": {"duration": 0.0006597720785066485, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 77, "message": "RecursionError: maximum recursion depth exceeded"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 78, "message": ""}, {"path": "tests/test_math_utils.py", "lineno": 77, "message": "in recursive"}, {"path": "tests/test_math_utils.py", "lineno": 77, "message": "in recursive"}], "longrepr": "def test_recursion_error():\n # Infinite recursion triggers RecursionError\n def recursive():\n return recursive()\n> recursive()\n\ntests/test_math_utils.py:78: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \ntests/test_math_utils.py:77: in recursive\n return recursive()\ntests/test_math_utils.py:77: in recursive\n return recursive()\nE RecursionError: maximum recursion depth exceeded\n!!! Recursion detected (same locals & position)"}, "teardown": {"duration": 0.00013340194709599018, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_floating_point_error", "lineno": 79, "outcome": "failed", "keywords": ["test_floating_point_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011590204667299986, "outcome": "passed"}, "call": {"duration": 0.00014527898747473955, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 82, "message": "FloatingPointError: Simulated floating point error"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 82, "message": "FloatingPointError"}], "longrepr": "def test_floating_point_error():\n # Manually raise FloatingPointError\n> raise FloatingPointError(\"Simulated floating point error\")\nE FloatingPointError: Simulated floating point error\n\ntests/test_math_utils.py:82: FloatingPointError"}, "teardown": {"duration": 0.0001348569057881832, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_floating_point_overflow", "lineno": 83, "outcome": "failed", "keywords": ["test_floating_point_overflow", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011603289749473333, "outcome": "passed"}, "call": {"duration": 0.0001613060012459755, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 86, "message": "OverflowError: math range error"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 86, "message": "OverflowError"}], "longrepr": "def test_floating_point_overflow():\n # Exponential overflow triggers OverflowError\n> math.exp(1000)\nE OverflowError: math range error\n\ntests/test_math_utils.py:86: OverflowError"}, "teardown": {"duration": 0.00013549497816711664, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_value_error", "lineno": 87, "outcome": "failed", "keywords": ["test_value_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011780101340264082, "outcome": "passed"}, "call": {"duration": 0.00015149498358368874, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 90, "message": "ValueError: invalid literal for int() with base 10: 'invalid'"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 90, "message": "ValueError"}], "longrepr": "def test_value_error():\n # ValueError on invalid integer conversion\n> int(\"invalid\")\nE ValueError: invalid literal for int() with base 10: 'invalid'\n\ntests/test_math_utils.py:90: ValueError"}, "teardown": {"duration": 0.00013617007061839104, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_wrong_argument_error", "lineno": 91, "outcome": "failed", "keywords": ["test_wrong_argument_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011571100912988186, "outcome": "passed"}, "call": {"duration": 0.0001447480171918869, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 94, "message": "TypeError: 'int' object is not iterable"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 94, "message": "TypeError"}], "longrepr": "def test_wrong_argument_error():\n # TypeError when passing wrong argument type to sum\n> sum(5)\nE TypeError: 'int' object is not iterable\n\ntests/test_math_utils.py:94: TypeError"}, "teardown": {"duration": 0.00013240298721939325, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_unhandled_exception", "lineno": 95, "outcome": "failed", "keywords": ["test_unhandled_exception", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011865992564707994, "outcome": "passed"}, "call": {"duration": 0.00014691695105284452, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 98, "message": "Exception: Generic unhandled exception"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 98, "message": "Exception"}], "longrepr": "def test_unhandled_exception():\n # Raises generic unhandled Exception\n> raise Exception(\"Generic unhandled exception\")\nE Exception: Generic unhandled exception\n\ntests/test_math_utils.py:98: Exception"}, "teardown": {"duration": 0.00013234897051006556, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_custom_error", "lineno": 99, "outcome": "failed", "keywords": ["test_custom_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011655304115265608, "outcome": "passed"}, "call": {"duration": 0.00015300302766263485, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 102, "message": "test_math_utils.CustomError: Custom error simulation"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 102, "message": "CustomError"}], "longrepr": "def test_custom_error():\n # Raises user-defined CustomError exception\n> raise CustomError(\"Custom error simulation\")\nE test_math_utils.CustomError: Custom error simulation\n\ntests/test_math_utils.py:102: CustomError"}, "teardown": {"duration": 0.00013085093814879656, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_stop_iteration_direct", "lineno": 103, "outcome": "failed", "keywords": ["test_stop_iteration_direct", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011338107287883759, "outcome": "passed"}, "call": {"duration": 0.00014540005940943956, "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():\n # Directly raise StopIteration exception\n> raise StopIteration()\nE StopIteration\n\ntests/test_math_utils.py:106: StopIteration\n\nThe above exception was the direct cause of the following exception:\n\ncls = \nfunc = . at 0x7f6d022da9d0>\nwhen = 'call'\nreraise = (, )\n\n @classmethod\n def from_call(\n cls,\n func: Callable[[], TResult],\n when: Literal[\"collect\", \"setup\", \"call\", \"teardown\"],\n reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None,\n ) -> CallInfo[TResult]:\n \"\"\"Call func, wrapping the result in a CallInfo.\n \n :param func:\n The function to call. Called without arguments.\n :type func: Callable[[], _pytest.runner.TResult]\n :param when:\n The phase in which the function is called.\n :param reraise:\n Exception or exceptions that shall propagate if raised by the\n function, instead of being wrapped in the CallInfo.\n \"\"\"\n excinfo = None\n start = timing.time()\n precise_start = timing.perf_counter()\n try:\n> result: TResult | None = func()\n\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py:341: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n.pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py:242: in \n lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise\n.pixi/envs/default/lib/python3.8/site-packages/pluggy/_hooks.py:513: in __call__\n return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n.pixi/envs/default/lib/python3.8/site-packages/pluggy/_manager.py:120: in _hookexec\n return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py:92: in pytest_runtest_call\n yield from thread_exception_runtest_hook()\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py:68: in thread_exception_runtest_hook\n yield\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py:95: in pytest_runtest_call\n yield from unraisable_exception_runtest_hook()\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py:70: in unraisable_exception_runtest_hook\n yield\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py:846: in pytest_runtest_call\n yield from self._runtest_for(item, \"call\")\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py:829: in _runtest_for\n yield\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = _capture_fixture=None>\nitem = \n\n @hookimpl(wrapper=True)\n def pytest_runtest_call(self, item: Item) -> Generator[None]:\n with self.item_capture(\"call\", item):\n> return (yield)\nE RuntimeError: generator raised StopIteration\n\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py:880: RuntimeError"}, "teardown": {"duration": 0.00015131698455661535, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_generator_exit_direct", "lineno": 107, "outcome": "failed", "keywords": ["test_generator_exit_direct", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00013656506780534983, "outcome": "passed"}, "call": {"duration": 0.00014742801431566477, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 110, "message": "GeneratorExit"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 110, "message": "GeneratorExit"}], "longrepr": "def test_generator_exit_direct():\n # Directly raise GeneratorExit exception\n> raise GeneratorExit()\nE GeneratorExit\n\ntests/test_math_utils.py:110: GeneratorExit"}, "teardown": {"duration": 0.0001604489516466856, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_malformed_code", "lineno": 111, "outcome": "failed", "keywords": ["test_malformed_code", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011827400885522366, "outcome": "passed"}, "call": {"duration": 0.00015343993436545134, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 114, "message": " File \"\", line 1\n def bad(:\n ^\nSyntaxError: invalid syntax"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 114, "message": "SyntaxError"}], "longrepr": "def test_malformed_code():\n # SyntaxError when executing malformed Python code\n> exec(\"def bad(:\\n pass\")\nE File \"\", line 1\nE def bad(:\nE ^\nE SyntaxError: invalid syntax\n\ntests/test_math_utils.py:114: SyntaxError"}, "teardown": {"duration": 0.00013169797603040934, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_sys_exit", "lineno": 115, "outcome": "failed", "keywords": ["test_sys_exit", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012201897334307432, "outcome": "passed"}, "call": {"duration": 0.00015799805987626314, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 118, "message": "SystemExit: 1"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 118, "message": "SystemExit"}], "longrepr": "def test_sys_exit():\n # Simulate SystemExit via sys.exit\n> sys.exit(1)\nE SystemExit: 1\n\ntests/test_math_utils.py:118: SystemExit"}, "teardown": {"duration": 0.00013454293366521597, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_broken_function", "lineno": 119, "outcome": "failed", "keywords": ["test_broken_function", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011985201854258776, "outcome": "passed"}, "call": {"duration": 0.00014675594866275787, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 123, "message": "TypeError: Broken function"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 124, "message": ""}, {"path": "tests/test_math_utils.py", "lineno": 123, "message": "TypeError"}], "longrepr": "def test_broken_function():\n # Simulate broken function raising TypeError\n def broken_func(*args, **kwargs):\n raise TypeError(\"Broken function\")\n> broken_func()\n\ntests/test_math_utils.py:124: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nargs = (), kwargs = {}\n\n def broken_func(*args, **kwargs):\n> raise TypeError(\"Broken function\")\nE TypeError: Broken function\n\ntests/test_math_utils.py:123: TypeError"}, "teardown": {"duration": 0.00013720302376896143, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_import_error", "lineno": 125, "outcome": "failed", "keywords": ["test_import_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011599401477724314, "outcome": "passed"}, "call": {"duration": 0.0001494790194556117, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 127, "message": "ImportError: Simulated ImportError"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 127, "message": "ImportError"}], "longrepr": "def test_import_error():\n> raise ImportError(\"Simulated ImportError\")\nE ImportError: Simulated ImportError\n\ntests/test_math_utils.py:127: ImportError"}, "teardown": {"duration": 0.00013285491149872541, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_module_not_found_error", "lineno": 128, "outcome": "failed", "keywords": ["test_module_not_found_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00013179599773138762, "outcome": "passed"}, "call": {"duration": 0.0004497750196605921, "outcome": "failed", "crash": {"path": "", "lineno": 973, "message": "ModuleNotFoundError: No module named 'non_existent_module_xyz'"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 131, "message": ""}, {"path": ".pixi/envs/default/lib/python3.8/importlib/__init__.py", "lineno": 127, "message": "in import_module"}, {"path": "", "lineno": 1014, "message": "in _gcd_import"}, {"path": "", "lineno": 991, "message": "in _find_and_load"}, {"path": "", "lineno": 973, "message": "ModuleNotFoundError"}], "longrepr": "def test_module_not_found_error():\n # Raises ModuleNotFoundError (subclass of ImportError) for missing module\n> importlib.import_module(\"non_existent_module_xyz\")\n\ntests/test_math_utils.py:131: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n:1014: in _gcd_import\n ???\n:991: in _find_and_load\n ???\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nname = 'non_existent_module_xyz'\nimport_ = \n\n> ???\nE ModuleNotFoundError: No module named 'non_existent_module_xyz'\n\n:973: ModuleNotFoundError"}, "teardown": {"duration": 0.00013677903916686773, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "lineno": 7, "outcome": "passed", "keywords": ["test_uppercase_normal", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012748991139233112, "outcome": "passed"}, "call": {"duration": 0.0001398259773850441, "outcome": "passed"}, "teardown": {"duration": 9.956699796020985e-05, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "lineno": 11, "outcome": "failed", "keywords": ["test_uppercase_type_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011457002256065607, "outcome": "passed"}, "call": {"duration": 0.00014229596126824617, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/functions/string_utils.py", "lineno": 3, "message": "TypeError: Input cannot be None"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 14, "message": ""}, {"path": "functions/string_utils.py", "lineno": 3, "message": "TypeError"}], "longrepr": "def test_uppercase_type_error():\n # TypeError when input is None (invalid input)\n> uppercase(None)\n\ntests/test_string_utils.py:14: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\ns = None\n\n def uppercase(s):\n if s is None:\n> raise TypeError(\"Input cannot be None\")\nE TypeError: Input cannot be None\n\nfunctions/string_utils.py:3: TypeError"}, "teardown": {"duration": 0.00013468600809574127, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "lineno": 15, "outcome": "passed", "keywords": ["test_reverse_string", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011791300494223833, "outcome": "passed"}, "call": {"duration": 0.00013869500253349543, "outcome": "passed"}, "teardown": {"duration": 9.981193579733372e-05, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "lineno": 19, "outcome": "passed", "keywords": ["test_warning_emit", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010396703146398067, "outcome": "passed"}, "call": {"duration": 0.0001409259857609868, "outcome": "passed"}, "teardown": {"duration": 9.429501369595528e-05, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "lineno": 23, "outcome": "failed", "keywords": ["test_unicode_decode_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011215603444725275, "outcome": "passed"}, "call": {"duration": 0.0001578029477968812, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 26, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 26, "message": "UnicodeDecodeError"}], "longrepr": "def test_unicode_decode_error():\n # UnicodeDecodeError when decoding invalid byte sequence\n> b'\\xff'.decode('utf-8')\nE UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte\n\ntests/test_string_utils.py:26: UnicodeDecodeError"}, "teardown": {"duration": 0.00014555803500115871, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "lineno": 27, "outcome": "failed", "keywords": ["test_unicode_decode_surrogateescape", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011529598850756884, "outcome": "passed"}, "call": {"duration": 0.00015730690211057663, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 30, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 30, "message": "UnicodeDecodeError"}], "longrepr": "def test_unicode_decode_surrogateescape():\n # UnicodeDecodeError with strict error handler on invalid byte\n> b\"\\x80\".decode(\"utf-8\", errors=\"strict\")\nE UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte\n\ntests/test_string_utils.py:30: UnicodeDecodeError"}, "teardown": {"duration": 0.0001418309984728694, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_import_warning", "lineno": 31, "outcome": "passed", "keywords": ["test_import_warning", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011478597298264503, "outcome": "passed"}, "call": {"duration": 0.0001309820218011737, "outcome": "passed"}, "teardown": {"duration": 9.837793186306953e-05, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "lineno": 35, "outcome": "xfailed", "keywords": ["test_xfail_uppercase_digits", "xfail", "pytestmark", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011361890938133001, "outcome": "passed"}, "call": {"duration": 0.0005717549938708544, "outcome": "skipped", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 39, "message": "AssertionError: assert 'ABC123' == 'ABC1234'\n \n - ABC1234\n ? -\n + ABC123"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 39, "message": "AssertionError"}], "longrepr": "@pytest.mark.xfail(reason=\"Expected failure: uppercase does not handle digits\")\n def test_xfail_uppercase_digits():\n # Expected fail test because uppercase won't change digits\n> assert uppercase(\"abc123\") == \"ABC1234\"\nE AssertionError: assert 'ABC123' == 'ABC1234'\nE \nE - ABC1234\nE ? -\nE + ABC123\n\ntests/test_string_utils.py:39: AssertionError"}, "teardown": {"duration": 0.00014313100837171078, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_keyboard_interrupt_direct", "lineno": 40, "outcome": "passed", "keywords": ["test_keyboard_interrupt_direct", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011611799709498882, "outcome": "passed"}}], "warnings": [{"message": "Test warning", "category": "UserWarning", "when": "runtest", "filename": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 22}]} \ No newline at end of file diff --git a/ci-reports/markdown/raw-test-output.log b/ci-reports/markdown/raw-test-output.log index 5de2dd148..ab22ae32f 100644 --- a/ci-reports/markdown/raw-test-output.log +++ b/ci-reports/markdown/raw-test-output.log @@ -1,7 +1,7 @@ ============================= test session starts ============================== platform linux -- Python 3.8.20, pytest-8.3.4, pluggy-1.5.0 rootdir: /workspace/tligui_y/slic -plugins: cov-5.0.0, allure-pytest-2.13.5, html-4.1.1, metadata-3.1.1, json-report-1.5.0, md-report-0.6.2 +plugins: metadata-3.1.1, cov-5.0.0, allure-pytest-2.13.5, html-4.1.1, json-report-1.5.0, md-report-0.6.2 collected 49 items / 2 errors tests/test_io_utils.py ..FFFFFF.F @@ -76,7 +76,7 @@ E FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.fil functions/io_utils.py:2: FileNotFoundError ____________________________ test_permission_error _____________________________ -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f26194a3490> +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6cff624fd0> def test_permission_error(monkeypatch): # Patch open to raise PermissionError simulating access denial @@ -100,7 +100,7 @@ E PermissionError: Permission denied tests/test_io_utils.py:34: PermissionError _____________________________ test_mock_open_error _____________________________ -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f2619931d60> +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6cffb449a0> def test_mock_open_error(monkeypatch): # Mock open() to raise IOError simulating read error @@ -117,7 +117,7 @@ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ return self._execute_mock_call(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = +self = args = ('file.txt', 'r'), kwargs = {}, effect = OSError('Mocked IOError') def _execute_mock_call(self, /, *args, **kwargs): @@ -143,7 +143,7 @@ E ValueError: I/O operation on closed file tests/test_io_utils.py:50: ValueError ________________________________ test_os_error _________________________________ -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f261962f3d0> +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f6cff624d30> def test_os_error(monkeypatch): # Patch os.remove to raise OSError simulating filesystem error @@ -311,7 +311,7 @@ tests/test_math_utils.py:106: StopIteration The above exception was the direct cause of the following exception: cls = -func = . at 0x7f261953c9d0> +func = . at 0x7f6d022da9d0> when = 'call' reraise = (, ) @@ -440,7 +440,7 @@ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'non_existent_module_xyz' -import_ = +import_ = > ??? E ModuleNotFoundError: No module named 'non_existent_module_xyz' @@ -533,4 +533,4 @@ ERROR tests/test_collector_error.py !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! KeyboardInterrupt !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! /workspace/tligui_y/slic/tests/test_string_utils.py:43: KeyboardInterrupt (to show a full traceback on KeyboardInterrupt use --full-trace) -======== 31 failed, 15 passed, 2 xfailed, 1 warning, 2 errors in 0.71s ========= +======== 31 failed, 15 passed, 2 xfailed, 1 warning, 2 errors in 0.69s =========