From 1f2df2b854064644bea9e0b337cbb5aab501de7b Mon Sep 17 00:00:00 2001 From: ci-bot Date: Fri, 18 Jul 2025 00:37:07 +0000 Subject: [PATCH] CI: update test report and coverage files --- ci-reports/markdown/TEST-REPORT.md | 3939 ++++++++--------------- ci-reports/markdown/json-tree-view.txt | 440 +-- ci-reports/markdown/pytest-report.json | 2 +- ci-reports/markdown/runtime_params.json | 2 +- 4 files changed, 1543 insertions(+), 2840 deletions(-) diff --git a/ci-reports/markdown/TEST-REPORT.md b/ci-reports/markdown/TEST-REPORT.md index c317506d..8e89c0fd 100644 --- a/ci-reports/markdown/TEST-REPORT.md +++ b/ci-reports/markdown/TEST-REPORT.md @@ -1,9 +1,9 @@ -## ⚠️ Logs d'erreur +## ⚠️ Logs d'exécution ``` ============================= test session starts ============================== platform linux -- Python 3.8.20, pytest-8.3.4, pluggy-1.5.0 rootdir: /workspace/tligui_y/slic -plugins: html-4.1.1, metadata-3.1.1, cov-5.0.0, allure-pytest-2.13.5, json-report-1.5.0, md-report-0.6.2 +plugins: allure-pytest-2.13.5, cov-5.0.0, metadata-3.1.1, html-4.1.1, json-report-1.5.0, md-report-0.6.2 collected 72 items / 2 errors tests/test_io_utils.py ..FFFFFF.F @@ -87,7 +87,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 0x7f9c24770730> +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f60eab79f40> def test_permission_error(monkeypatch): # Patch open to raise PermissionError simulating access denial @@ -111,7 +111,7 @@ E PermissionError: Permission denied tests/test_io_utils.py:34: PermissionError _____________________________ test_mock_open_error _____________________________ -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f9c24762370> +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f60eab7b550> def test_mock_open_error(monkeypatch): # Mock open() to raise IOError simulating read error @@ -128,7 +128,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): @@ -154,7 +154,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 0x7f9c24be06a0> +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f60eab791f0> def test_os_error(monkeypatch): # Patch os.remove to raise OSError simulating filesystem error @@ -322,7 +322,7 @@ tests/test_math_utils.py:106: StopIteration The above exception was the direct cause of the following exception: cls = -func = . at 0x7f9c249014c0> +func = . at 0x7f60eb0cb700> when = 'call' reraise = (, ) @@ -451,7 +451,7 @@ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'non_existent_module_xyz' -import_ = +import_ = > ??? E ModuleNotFoundError: No module named 'non_existent_module_xyz' @@ -556,22 +556,22 @@ ERROR tests/test_param.py::TestDynamic::test_sum_positive !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! KeyboardInterrupt !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! /workspace/tligui_y/slic/tests/test_string_utils.py:52: KeyboardInterrupt (to show a full traceback on KeyboardInterrupt use --full-trace) -=== 32 failed, 35 passed, 1 skipped, 2 xfailed, 1 warning, 3 errors in 0.78s === +=== 32 failed, 35 passed, 1 skipped, 2 xfailed, 1 warning, 3 errors in 0.72s === ``` # 🧪 Rapport de tests -*Généré le 2025-07-18 02:32:42 CEST* +*Généré le 2025-07-18 02:37:07* ## 📋 Résumé -- **Passed**: 36 -- **Failed**: 32 -- **Xfailed**: 2 -- **Skipped**: 1 -- **Error**: 1 -- **Total**: 72 -- **Collected**: 72 +- **passed**: 36 +- **failed**: 32 +- **xfailed**: 2 +- **skipped**: 1 +- **error**: 1 +- **total**: 72 +- **collected**: 72 ## 🔎 Tests @@ -583,33 +583,21 @@ ERROR tests/test_param.py::TestDynamic::test_sum_positive -
➡️ Test #1 ✅ - **Phase setup**: - ```python - duration: 0.0038437480106949806 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0004594839410856366 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00025435700081288815 - ``` - - ```python - outcome: passed - ``` - +**Phase setup**: +```python +duration: 0.003064414020627737 +outcome: passed +``` +**Phase call**: +```python +duration: 0.0003954690182581544 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00028601393569260836 +outcome: passed +```
- 🔧 test_write_file @@ -617,33 +605,21 @@ ERROR tests/test_param.py::TestDynamic::test_sum_positive -
➡️ Test #2 ✅ - **Phase setup**: - ```python - duration: 0.0004889399278908968 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00030194094870239496 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.0001907249679788947 - ``` - - ```python - outcome: passed - ``` - +**Phase setup**: +```python +duration: 0.0004430660046637058 +outcome: passed +``` +**Phase call**: +```python +duration: 0.0002886829897761345 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00013849500101059675 +outcome: passed +```
- 🔧 test_cause_io_error @@ -651,41 +627,25 @@ ERROR tests/test_param.py::TestDynamic::test_sum_positive -
➡️ Test #3 ❌ - **Phase setup**: - ```python - duration: 0.00012008403427898884 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00016488495748490095 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/functions/io_utils.py +**Phase setup**: +```python +duration: 0.000123525969684124 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00015047297347337008 +outcome: failed +crash: path: /workspace/tligui_y/slic/functions/io_utils.py lineno: 10 message: OSError: Forced IO Error for testing - ``` - - ```python - traceback: - path: tests/test_io_utils.py +traceback: - path: tests/test_io_utils.py lineno: 25 message: None - path: functions/io_utils.py lineno: 10 message: OSError - ``` - - ```python - longrepr: def test_cause_io_error(): +longrepr: def test_cause_io_error(): # Raises manual IOError to simulate IO failure > cause_io_error() @@ -697,17 +657,12 @@ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ E OSError: Forced IO Error for testing functions/io_utils.py:10: OSError - ``` - - **Phase teardown**: - ```python - duration: 0.00013930199202150106 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013842200860381126 +outcome: passed +```
- 🔧 test_file_not_found @@ -715,41 +670,25 @@ functions/io_utils.py:10: OSError -
➡️ Test #4 ❌ - **Phase setup**: - ```python - duration: 0.00012087298091500998 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00017869193106889725 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/functions/io_utils.py +**Phase setup**: +```python +duration: 0.00012411002535372972 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00017424102406948805 +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' - ``` - - ```python - traceback: - path: tests/test_io_utils.py +traceback: - path: tests/test_io_utils.py lineno: 29 message: None - path: functions/io_utils.py lineno: 2 message: FileNotFoundError - ``` - - ```python - longrepr: def test_file_not_found(): +longrepr: def test_file_not_found(): # Reading non-existing file raises FileNotFoundError > read_file("nonexistent.file") @@ -763,17 +702,12 @@ path = 'nonexistent.file' E FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.file' functions/io_utils.py:2: FileNotFoundError - ``` - - **Phase teardown**: - ```python - duration: 0.00014040910173207521 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013678998220711946 +outcome: passed +```
- 🔧 test_permission_error @@ -781,32 +715,19 @@ functions/io_utils.py:2: FileNotFoundError -
➡️ Test #5 ❌ - **Phase setup**: - ```python - duration: 0.00020003202371299267 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00017898296937346458 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_io_utils.py +**Phase setup**: +```python +duration: 0.0002058959798887372 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00016845099162310362 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_io_utils.py lineno: 34 message: PermissionError: Permission denied - ``` - - ```python - traceback: - path: tests/test_io_utils.py +traceback: - path: tests/test_io_utils.py lineno: 36 message: None - path: functions/io_utils.py @@ -815,10 +736,7 @@ message: PermissionError: Permission denied - path: tests/test_io_utils.py lineno: 34 message: PermissionError - ``` - - ```python - longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f9c24770730> +longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f60eab79f40> def test_permission_error(monkeypatch): # Patch open to raise PermissionError simulating access denial @@ -840,17 +758,12 @@ args = ('anyfile.txt', 'r'), kwargs = {'encoding': 'utf-8'} E PermissionError: Permission denied tests/test_io_utils.py:34: PermissionError - ``` - - **Phase teardown**: - ```python - duration: 0.00017602997832000256 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00016465294174849987 +outcome: passed +```
- 🔧 test_mock_open_error @@ -858,32 +771,19 @@ tests/test_io_utils.py:34: PermissionError -
➡️ Test #6 ❌ - **Phase setup**: - ```python - duration: 0.00020679400768131018 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0032904959516599774 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/unittest/mock.py +**Phase setup**: +```python +duration: 0.00018211407586932182 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00312842708081007 +outcome: failed +crash: path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/unittest/mock.py lineno: 1140 message: OSError: Mocked IOError - ``` - - ```python - traceback: - path: tests/test_io_utils.py +traceback: - path: tests/test_io_utils.py lineno: 43 message: None - path: .pixi/envs/default/lib/python3.8/unittest/mock.py @@ -895,10 +795,7 @@ message: OSError: Mocked IOError - path: .pixi/envs/default/lib/python3.8/unittest/mock.py lineno: 1140 message: OSError - ``` - - ```python - longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f9c24762370> +longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f60eab7b550> def test_mock_open_error(monkeypatch): # Mock open() to raise IOError simulating read error @@ -915,7 +812,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): @@ -929,17 +826,12 @@ args = ('file.txt', 'r'), kwargs = {}, effect = OSError('Mocked IOError') E OSError: Mocked IOError .pixi/envs/default/lib/python3.8/unittest/mock.py:1140: OSError - ``` - - **Phase teardown**: - ```python - duration: 0.0002600899897515774 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00025683490093797445 +outcome: passed +```
- 🔧 test_file_handle_closed_error @@ -947,38 +839,22 @@ E OSError: Mocked IOError -
➡️ Test #7 ❌ - **Phase setup**: - ```python - duration: 0.0001395320286974311 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001780879683792591 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_io_utils.py +**Phase setup**: +```python +duration: 0.00013340497389435768 +outcome: passed +``` +**Phase call**: +```python +duration: 0.0001857009483501315 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_io_utils.py lineno: 50 message: ValueError: I/O operation on closed file - ``` - - ```python - traceback: - path: tests/test_io_utils.py +traceback: - path: tests/test_io_utils.py lineno: 50 message: ValueError - ``` - - ```python - longrepr: def test_file_handle_closed_error(): +longrepr: def test_file_handle_closed_error(): # Accessing closed file raises ValueError f = io.StringIO("content") f.close() @@ -986,17 +862,12 @@ message: ValueError: I/O operation on closed file E ValueError: I/O operation on closed file tests/test_io_utils.py:50: ValueError - ``` - - **Phase teardown**: - ```python - duration: 0.0001794290728867054 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00016329297795891762 +outcome: passed +```
- 🔧 test_os_error @@ -1004,41 +875,25 @@ tests/test_io_utils.py:50: ValueError -
➡️ Test #8 ❌ - **Phase setup**: - ```python - duration: 0.00024640699848532677 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00019164395052939653 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_io_utils.py +**Phase setup**: +```python +duration: 0.00022015604190528393 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00017855397891253233 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_io_utils.py lineno: 55 message: OSError: Simulated OSError - ``` - - ```python - traceback: - path: tests/test_io_utils.py +traceback: - path: tests/test_io_utils.py lineno: 57 message: None - path: tests/test_io_utils.py lineno: 55 message: OSError - ``` - - ```python - longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f9c24be06a0> +longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f60eab791f0> def test_os_error(monkeypatch): # Patch os.remove to raise OSError simulating filesystem error @@ -1057,17 +912,12 @@ path = 'file.txt' E OSError: Simulated OSError tests/test_io_utils.py:55: OSError - ``` - - **Phase teardown**: - ```python - duration: 0.00020751601550728083 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.0001693019876256585 +outcome: passed +```
- 🔧 test_write_file_readonly @@ -1075,33 +925,21 @@ tests/test_io_utils.py:55: OSError -
➡️ Test #9 ✅ - **Phase setup**: - ```python - duration: 0.0006025249604135752 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0016794069670140743 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00015622703358530998 - ``` - - ```python - outcome: passed - ``` - +**Phase setup**: +```python +duration: 0.000583123997785151 +outcome: passed +``` +**Phase call**: +```python +duration: 0.0010682630818337202 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00014542590361088514 +outcome: passed +```
- 🔧 test_file_not_found_error @@ -1109,54 +947,33 @@ tests/test_io_utils.py:55: OSError -
➡️ Test #10 ❌ - **Phase setup**: - ```python - duration: 0.00011700298637151718 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00016800209414213896 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_io_utils.py +**Phase setup**: +```python +duration: 0.00012976001016795635 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00016401801258325577 +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' - ``` - - ```python - traceback: - path: tests/test_io_utils.py +traceback: - path: tests/test_io_utils.py lineno: 69 message: FileNotFoundError - ``` - - ```python - longrepr: def test_file_not_found_error(): +longrepr: 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 - ``` - - **Phase teardown**: - ```python - duration: 0.0001415599836036563 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013966707047075033 +outcome: passed +```
@@ -1169,54 +986,33 @@ tests/test_io_utils.py:69: FileNotFoundError -
➡️ Test #11 ❌ - **Phase setup**: - ```python - duration: 0.0001318629365414381 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00017085496801882982 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00013541895896196365 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00015435402747243643 +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 - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 16 message: NameError - ``` - - ```python - longrepr: def test_broken(): +longrepr: def test_broken(): # simulating a broken or faulty test implementation that will cause the test to error > want_the_test_to_fail E NameError: name 'want_the_test_to_fail' is not defined tests/test_math_utils.py:16: NameError - ``` - - **Phase teardown**: - ```python - duration: 0.00015621399506926537 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013887800741940737 +outcome: passed +```
- 🔧 test_call_missing_function @@ -1224,54 +1020,33 @@ tests/test_math_utils.py:16: NameError -
➡️ Test #12 ❌ - **Phase setup**: - ```python - duration: 0.00012562796473503113 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00015558500308543444 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00011966994497925043 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00017390202265232801 +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' - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 20 message: AttributeError - ``` - - ```python - longrepr: def test_call_missing_function(): +longrepr: 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 - ``` - - **Phase teardown**: - ```python - duration: 0.00013841793406754732 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013803306501358747 +outcome: passed +```
- 🔧 test_addition_pass @@ -1279,191 +1054,126 @@ tests/test_math_utils.py:20: AttributeError -
➡️ Test #13 ✅ - ```python - a = 2 - b = 2 - expected = 4 - ``` - - **Phase setup**: - ```python - duration: 0.00031065894290804863 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001566320424899459 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00015338498633354902 - ``` - - ```python - outcome: passed - ``` - +```python +a = 2 +b = 2 +expected = 4 +``` +**Phase setup**: +```python +duration: 0.00030337506905198097 +outcome: passed +``` +**Phase call**: +```python +duration: 0.0001472310395911336 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00014927901793271303 +outcome: passed +```
-
➡️ Test #14 ✅ - ```python - a = 1 - b = 5 - expected = 6 - ``` - - **Phase setup**: - ```python - duration: 0.00026630901265889406 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00013422290794551373 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00013842794578522444 - ``` - - ```python - outcome: passed - ``` - +```python +a = 1 +b = 5 +expected = 6 +``` +**Phase setup**: +```python +duration: 0.0002466000150889158 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00013141206000000238 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00014680309686809778 +outcome: passed +```
-
➡️ Test #15 ✅ - ```python - a = 3 - b = 4 - expected = 7 - ``` - - **Phase setup**: - ```python - duration: 0.00024113606195896864 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00013330404181033373 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00014530110638588667 - ``` - - ```python - outcome: passed - ``` - +```python +a = 3 +b = 4 +expected = 7 +``` +**Phase setup**: +```python +duration: 0.0002477209782227874 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00013030506670475006 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00014463497791439295 +outcome: passed +```
-
➡️ Test #16 ✅ - ```python - a = 3 - b = 5 - expected = 8 - ``` - - **Phase setup**: - ```python - duration: 0.00024307798594236374 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001255340175703168 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00014843803364783525 - ``` - - ```python - outcome: passed - ``` - +```python +a = 3 +b = 5 +expected = 8 +``` +**Phase setup**: +```python +duration: 0.00024313991889357567 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00013689696788787842 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00013256596866995096 +outcome: passed +```
-
➡️ Test #17 ✅ - ```python - a = 3 - b = 6 - expected = 9 - ``` - - **Phase setup**: - ```python - duration: 0.00026487698778510094 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001368920784443617 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.0001444139052182436 - ``` - - ```python - outcome: passed - ``` - +```python +a = 3 +b = 6 +expected = 9 +``` +**Phase setup**: +```python +duration: 0.0002418559743091464 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00013788999058306217 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.0001337879803031683 +outcome: passed +```
- 🔧 test_addition_pass_id @@ -1471,115 +1181,76 @@ tests/test_math_utils.py:20: AttributeError -
➡️ Test #18 ✅ - ```python - a = 2 - b = 2 - expected = 4 - ``` - - **Phase setup**: - ```python - duration: 0.00023583602160215378 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00012579699978232384 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00015911890659481287 - ``` - - ```python - outcome: passed - ``` - +```python +a = 2 +b = 2 +expected = 4 +``` +**Phase setup**: +```python +duration: 0.00023280095774680376 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00014865200500935316 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00013959198258817196 +outcome: passed +```
-
➡️ Test #19 ✅ - ```python - a = 1 - b = 5 - expected = 6 - ``` - - **Phase setup**: - ```python - duration: 0.0002489991020411253 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00012739200610667467 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.0001468999544158578 - ``` - - ```python - outcome: passed - ``` - +```python +a = 1 +b = 5 +expected = 6 +``` +**Phase setup**: +```python +duration: 0.00023917295038700104 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00012583995703607798 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00013123499229550362 +outcome: passed +```
-
➡️ Test #20 ✅ - ```python - a = 3 - b = 4 - expected = 7 - ``` - - **Phase setup**: - ```python - duration: 0.00024843099527060986 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00012928410433232784 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00013446889352053404 - ``` - - ```python - outcome: passed - ``` - +```python +a = 3 +b = 4 +expected = 7 +``` +**Phase setup**: +```python +duration: 0.00024115201085805893 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00013093394227325916 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.0001339050941169262 +outcome: passed +```
- 🔧 test_addition_fail @@ -1587,56 +1258,35 @@ tests/test_math_utils.py:20: AttributeError -
➡️ Test #21 ❌ - **Phase setup**: - ```python - duration: 0.00010258995462208986 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00046308001037687063 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.000102077960036695 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00044049706775695086 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 51 message: assert 4 == 5 + where 4 = addition(2, 2) - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 51 message: AssertionError - ``` - - ```python - longrepr: def test_addition_fail(): +longrepr: 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 - ``` - - **Phase teardown**: - ```python - duration: 0.00014102703426033258 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.0001341069582849741 +outcome: passed +```
- 🔧 test_division_zero @@ -1644,41 +1294,25 @@ tests/test_math_utils.py:51: AssertionError -
➡️ Test #22 ❌ - **Phase setup**: - ```python - duration: 0.00011784397065639496 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00016114208847284317 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/functions/math_utils.py +**Phase setup**: +```python +duration: 0.00011383299715816975 +outcome: passed +``` +**Phase call**: +```python +duration: 0.0001522459788247943 +outcome: failed +crash: path: /workspace/tligui_y/slic/functions/math_utils.py lineno: 5 message: ZeroDivisionError: division by zero - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 55 message: None - path: functions/math_utils.py lineno: 5 message: ZeroDivisionError - ``` - - ```python - longrepr: def test_division_zero(): +longrepr: def test_division_zero(): # Will raise ZeroDivisionError if not handled in division > division(1, 0) @@ -1692,17 +1326,12 @@ a = 1, b = 0 E ZeroDivisionError: division by zero functions/math_utils.py:5: ZeroDivisionError - ``` - - **Phase teardown**: - ```python - duration: 0.00014169001951813698 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00015916302800178528 +outcome: passed +```
- 🔧 test_multiply_xfail @@ -1710,39 +1339,23 @@ functions/math_utils.py:5: ZeroDivisionError -
➡️ Test #23 ❌ - **Phase setup**: - ```python - duration: 0.0001358919544145465 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00027687696274369955 - ``` - - ```python - outcome: skipped - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00013021391350775957 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00026867608539760113 +outcome: skipped +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 60 message: assert 4 == 5 + where 4 = multiply(2, 2) - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 60 message: AssertionError - ``` - - ```python - longrepr: @pytest.mark.xfail(reason="Expected failure") +longrepr: @pytest.mark.xfail(reason="Expected failure") def test_multiply_xfail(): # Expected fail test (xfail): incorrect expected multiply result > assert multiply(2, 2) == 5 @@ -1750,17 +1363,12 @@ E assert 4 == 5 E + where 4 = multiply(2, 2) tests/test_math_utils.py:60: AssertionError - ``` - - **Phase teardown**: - ```python - duration: 0.00015252502635121346 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013974099420011044 +outcome: passed +```
- 🔧 test_runtime_error @@ -1768,54 +1376,33 @@ tests/test_math_utils.py:60: AssertionError -
➡️ Test #24 ❌ - **Phase setup**: - ```python - duration: 0.00012445799075067043 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00014967203605920076 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00011850893497467041 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00014949904289096594 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 64 message: RuntimeError: Forced runtime error - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 64 message: RuntimeError - ``` - - ```python - longrepr: def test_runtime_error(): +longrepr: def test_runtime_error(): # Test raises an uncaught RuntimeError > raise RuntimeError("Forced runtime error") E RuntimeError: Forced runtime error tests/test_math_utils.py:64: RuntimeError - ``` - - **Phase teardown**: - ```python - duration: 0.00013547996059060097 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013509602285921574 +outcome: passed +```
- 🔧 test_memory_error @@ -1823,54 +1410,33 @@ tests/test_math_utils.py:64: RuntimeError -
➡️ Test #25 ❌ - **Phase setup**: - ```python - duration: 0.00011668202932924032 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00015499803703278303 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00012197601608932018 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00015143200289458036 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 68 message: MemoryError: Simulated memory error - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 68 message: MemoryError - ``` - - ```python - longrepr: def test_memory_error(): +longrepr: 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 - ``` - - **Phase teardown**: - ```python - duration: 0.00013663002755492926 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013622106052935123 +outcome: passed +```
- 🔧 test_timeout_error @@ -1878,54 +1444,33 @@ tests/test_math_utils.py:68: MemoryError -
➡️ Test #26 ❌ - **Phase setup**: - ```python - duration: 0.00011865096166729927 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001511209411546588 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00012572493869811296 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00014634698163717985 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 72 message: TimeoutError: Simulated timeout error - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 72 message: TimeoutError - ``` - - ```python - longrepr: def test_timeout_error(): +longrepr: 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 - ``` - - **Phase teardown**: - ```python - duration: 0.00013699394185096025 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.0001388699747622013 +outcome: passed +```
- 🔧 test_recursion_error @@ -1933,32 +1478,19 @@ tests/test_math_utils.py:72: TimeoutError -
➡️ Test #27 ❌ - **Phase setup**: - ```python - duration: 0.00014511100016534328 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0007979320362210274 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00011776597239077091 +outcome: passed +``` +**Phase call**: +```python +duration: 0.0007699099369347095 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 77 message: RecursionError: maximum recursion depth exceeded - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 78 message: None - path: tests/test_math_utils.py @@ -1967,10 +1499,7 @@ message: RecursionError: maximum recursion depth exceeded - path: tests/test_math_utils.py lineno: 77 message: in recursive - ``` - - ```python - longrepr: def test_recursion_error(): +longrepr: def test_recursion_error(): # Infinite recursion triggers RecursionError def recursive(): return recursive() @@ -1984,17 +1513,12 @@ tests/test_math_utils.py:77: in recursive return recursive() E RecursionError: maximum recursion depth exceeded !!! Recursion detected (same locals & position) - ``` - - **Phase teardown**: - ```python - duration: 0.00014741206541657448 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013669009786099195 +outcome: passed +```
- 🔧 test_floating_point_error @@ -2002,54 +1526,33 @@ E RecursionError: maximum recursion depth exceeded -
➡️ Test #28 ❌ - **Phase setup**: - ```python - duration: 0.00012149498797953129 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.000155692920088768 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00011810206342488527 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00014972093049436808 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 82 message: FloatingPointError: Simulated floating point error - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 82 message: FloatingPointError - ``` - - ```python - longrepr: def test_floating_point_error(): +longrepr: 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 - ``` - - **Phase teardown**: - ```python - duration: 0.00015416496898978949 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013711792416870594 +outcome: passed +```
- 🔧 test_floating_point_overflow @@ -2057,54 +1560,33 @@ tests/test_math_utils.py:82: FloatingPointError -
➡️ Test #29 ❌ - **Phase setup**: - ```python - duration: 0.00012532796245068312 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00016070902347564697 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.0001150970347225666 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00014858506619930267 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 86 message: OverflowError: math range error - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 86 message: OverflowError - ``` - - ```python - longrepr: def test_floating_point_overflow(): +longrepr: def test_floating_point_overflow(): # Exponential overflow triggers OverflowError > math.exp(1000) E OverflowError: math range error tests/test_math_utils.py:86: OverflowError - ``` - - **Phase teardown**: - ```python - duration: 0.00014112098142504692 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00014532904606312513 +outcome: passed +```
- 🔧 test_value_error @@ -2112,54 +1594,33 @@ tests/test_math_utils.py:86: OverflowError -
➡️ Test #30 ❌ - **Phase setup**: - ```python - duration: 0.00012924405746161938 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001559500815346837 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00011505500879138708 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00014920299872756004 +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' - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 90 message: ValueError - ``` - - ```python - longrepr: def test_value_error(): +longrepr: 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 - ``` - - **Phase teardown**: - ```python - duration: 0.00014489307068288326 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013422605115920305 +outcome: passed +```
- 🔧 test_wrong_argument_error @@ -2167,54 +1628,33 @@ tests/test_math_utils.py:90: ValueError -
➡️ Test #31 ❌ - **Phase setup**: - ```python - duration: 0.00011927192099392414 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001521919621154666 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00012147706001996994 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00016229506582021713 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 94 message: TypeError: 'int' object is not iterable - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 94 message: TypeError - ``` - - ```python - longrepr: def test_wrong_argument_error(): +longrepr: 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 - ``` - - **Phase teardown**: - ```python - duration: 0.00014423695392906666 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.0001347699435427785 +outcome: passed +```
- 🔧 test_unhandled_exception @@ -2222,54 +1662,33 @@ tests/test_math_utils.py:94: TypeError -
➡️ Test #32 ❌ - **Phase setup**: - ```python - duration: 0.00012767105363309383 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001629869220778346 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00011677993461489677 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00014665990602225065 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 98 message: Exception: Generic unhandled exception - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 98 message: Exception - ``` - - ```python - longrepr: def test_unhandled_exception(): +longrepr: def test_unhandled_exception(): # Raises generic unhandled Exception > raise Exception("Generic unhandled exception") E Exception: Generic unhandled exception tests/test_math_utils.py:98: Exception - ``` - - **Phase teardown**: - ```python - duration: 0.000142398988828063 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013511197175830603 +outcome: passed +```
- 🔧 test_custom_error @@ -2277,54 +1696,33 @@ tests/test_math_utils.py:98: Exception -
➡️ Test #33 ❌ - **Phase setup**: - ```python - duration: 0.00013101298827677965 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00016559194773435593 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00011444895062595606 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00014644104521721601 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 102 message: test_math_utils.CustomError: Custom error simulation - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 102 message: CustomError - ``` - - ```python - longrepr: def test_custom_error(): +longrepr: 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 - ``` - - **Phase teardown**: - ```python - duration: 0.0001530040754005313 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.0001340460730716586 +outcome: passed +```
- 🔧 test_stop_iteration_direct @@ -2332,32 +1730,19 @@ tests/test_math_utils.py:102: CustomError -
➡️ Test #34 ❌ - **Phase setup**: - ```python - duration: 0.00012570898979902267 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00015604891814291477 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py +**Phase setup**: +```python +duration: 0.00012076692655682564 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00015103002078831196 +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 - ``` - - ```python - traceback: - path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py +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 @@ -2390,10 +1775,7 @@ message: RuntimeError: generator raised StopIteration - path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py lineno: 880 message: RuntimeError - ``` - - ```python - longrepr: def test_stop_iteration_direct(): +longrepr: def test_stop_iteration_direct(): # Directly raise StopIteration exception > raise StopIteration() E StopIteration @@ -2403,7 +1785,7 @@ tests/test_math_utils.py:106: StopIteration The above exception was the direct cause of the following exception: cls = -func = . at 0x7f9c249014c0> +func = . at 0x7f60eb0cb700> when = 'call' reraise = (, ) @@ -2463,17 +1845,12 @@ item = E RuntimeError: generator raised StopIteration .pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py:880: RuntimeError - ``` - - **Phase teardown**: - ```python - duration: 0.0002206469653174281 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00021930295042693615 +outcome: passed +```
- 🔧 test_generator_exit_direct @@ -2481,54 +1858,33 @@ E RuntimeError: generator raised StopIteration -
➡️ Test #35 ❌ - **Phase setup**: - ```python - duration: 0.00014731904957443476 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00017165997996926308 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00013241998385637999 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00016754702664911747 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 110 message: GeneratorExit - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 110 message: GeneratorExit - ``` - - ```python - longrepr: def test_generator_exit_direct(): +longrepr: def test_generator_exit_direct(): # Directly raise GeneratorExit exception > raise GeneratorExit() E GeneratorExit tests/test_math_utils.py:110: GeneratorExit - ``` - - **Phase teardown**: - ```python - duration: 0.0001987079158425331 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00015595101285725832 +outcome: passed +```
- 🔧 test_malformed_code @@ -2536,41 +1892,25 @@ tests/test_math_utils.py:110: GeneratorExit -
➡️ Test #36 ❌ - **Phase setup**: - ```python - duration: 0.00014790205750614405 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00017253297846764326 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.0001389010576531291 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00016217608936131 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 114 message: File "", line 1 def bad(: ^ SyntaxError: invalid syntax - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 114 message: SyntaxError - ``` - - ```python - longrepr: def test_malformed_code(): +longrepr: def test_malformed_code(): # SyntaxError when executing malformed Python code > exec("def bad(:\n pass") E File "", line 1 @@ -2579,17 +1919,12 @@ E ^ E SyntaxError: invalid syntax tests/test_math_utils.py:114: SyntaxError - ``` - - **Phase teardown**: - ```python - duration: 0.00017347594257444143 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.0001415919978171587 +outcome: passed +```
- 🔧 test_sys_exit @@ -2597,54 +1932,33 @@ tests/test_math_utils.py:114: SyntaxError -
➡️ Test #37 ❌ - **Phase setup**: - ```python - duration: 0.00013301498256623745 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001655529486015439 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00011660496238619089 +outcome: passed +``` +**Phase call**: +```python +duration: 0.0001450120471417904 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 118 message: SystemExit: 1 - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 118 message: SystemExit - ``` - - ```python - longrepr: def test_sys_exit(): +longrepr: def test_sys_exit(): # Simulate SystemExit via sys.exit > sys.exit(1) E SystemExit: 1 tests/test_math_utils.py:118: SystemExit - ``` - - **Phase teardown**: - ```python - duration: 0.00016879290342330933 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013641605619341135 +outcome: passed +```
- 🔧 test_broken_function @@ -2652,41 +1966,25 @@ tests/test_math_utils.py:118: SystemExit -
➡️ Test #38 ❌ - **Phase setup**: - ```python - duration: 0.0001412699930369854 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00017357897013425827 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00012267706915736198 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00015451502986252308 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 123 message: TypeError: Broken function - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 124 message: None - path: tests/test_math_utils.py lineno: 123 message: TypeError - ``` - - ```python - longrepr: def test_broken_function(): +longrepr: def test_broken_function(): # Simulate broken function raising TypeError def broken_func(*args, **kwargs): raise TypeError("Broken function") @@ -2702,17 +2000,12 @@ args = (), kwargs = {} E TypeError: Broken function tests/test_math_utils.py:123: TypeError - ``` - - **Phase teardown**: - ```python - duration: 0.00017624208703637123 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00014745595399290323 +outcome: passed +```
- 🔧 test_import_error @@ -2720,53 +2013,32 @@ tests/test_math_utils.py:123: TypeError -
➡️ Test #39 ❌ - **Phase setup**: - ```python - duration: 0.0001337149878963828 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00016365700867027044 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py +**Phase setup**: +```python +duration: 0.00012112793046981096 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00015178602188825607 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 127 message: ImportError: Simulated ImportError - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 127 message: ImportError - ``` - - ```python - longrepr: def test_import_error(): +longrepr: def test_import_error(): > raise ImportError("Simulated ImportError") E ImportError: Simulated ImportError tests/test_math_utils.py:127: ImportError - ``` - - **Phase teardown**: - ```python - duration: 0.00015379698015749454 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013570301234722137 +outcome: passed +```
- 🔧 test_module_not_found_error @@ -2774,32 +2046,19 @@ tests/test_math_utils.py:127: ImportError -
➡️ Test #40 ❌ - **Phase setup**: - ```python - duration: 0.0001382098998874426 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0004642170388251543 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: +**Phase setup**: +```python +duration: 0.00011593999806791544 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00046870403457432985 +outcome: failed +crash: path: lineno: 973 message: ModuleNotFoundError: No module named 'non_existent_module_xyz' - ``` - - ```python - traceback: - path: tests/test_math_utils.py +traceback: - path: tests/test_math_utils.py lineno: 131 message: None - path: .pixi/envs/default/lib/python3.8/importlib/__init__.py @@ -2814,10 +2073,7 @@ message: ModuleNotFoundError: No module named 'non_existent_module_xyz' - path: lineno: 973 message: ModuleNotFoundError - ``` - - ```python - longrepr: def test_module_not_found_error(): +longrepr: def test_module_not_found_error(): # Raises ModuleNotFoundError (subclass of ImportError) for missing module > importlib.import_module("non_existent_module_xyz") @@ -2832,23 +2088,18 @@ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'non_existent_module_xyz' -import_ = +import_ = > ??? E ModuleNotFoundError: No module named 'non_existent_module_xyz' :973: ModuleNotFoundError - ``` - - **Phase teardown**: - ```python - duration: 0.00018153688870370388 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00015002302825450897 +outcome: passed +```
@@ -2861,73 +2112,47 @@ E ModuleNotFoundError: No module named 'non_existent_module_xyz' -
➡️ Test #41 ✅ - ```python - x = 1 - ``` - - **Phase setup**: - ```python - duration: 0.0002498709363862872 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00015147600788623095 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00012397696264088154 - ``` - - ```python - outcome: passed - ``` - +```python +x = 1 +``` +**Phase setup**: +```python +duration: 0.00022526097018271685 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00014371797442436218 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.000122594996355474 +outcome: passed +```
-
➡️ Test #42 ✅ - ```python - x = 2 - ``` - - **Phase setup**: - ```python - duration: 0.00020894501358270645 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001292540691792965 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00011628190986812115 - ``` - - ```python - outcome: passed - ``` - +```python +x = 2 +``` +**Phase setup**: +```python +duration: 0.00017435394693166018 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00012613495346158743 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00011131190694868565 +outcome: passed +```
- 🔧 test_with_reason_and_marks @@ -2935,64 +2160,40 @@ E ModuleNotFoundError: No module named 'non_existent_module_xyz' -
➡️ Test #43 ✅ - ```python - x = 10 - ``` - - **Phase setup**: - ```python - duration: 0.0001730319345369935 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001298440620303154 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00011480401735752821 - ``` - - ```python - outcome: passed - ``` - +```python +x = 10 +``` +**Phase setup**: +```python +duration: 0.00016763200983405113 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00013808708172291517 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00012204505037516356 +outcome: passed +```
-
➡️ Test #44 ❌ - **Phase setup**: - ```python - duration: 0.00021425099112093449 - ``` - - ```python - outcome: skipped - ``` - - ```python - longrepr: ('/workspace/tligui_y/slic/tests/test_param.py', 12, 'Skipped: nope') - ``` - - **Phase teardown**: - ```python - duration: 0.00012704997789114714 - ``` - - ```python - outcome: passed - ``` - +**Phase setup**: +```python +duration: 0.00020836899057030678 +outcome: skipped +longrepr: ('/workspace/tligui_y/slic/tests/test_param.py', 12, 'Skipped: nope') +``` +**Phase teardown**: +```python +duration: 0.00010653899516910315 +outcome: passed +```
- 🔧 test_multiple_positional_args @@ -3000,75 +2201,49 @@ E ModuleNotFoundError: No module named 'non_existent_module_xyz' -
➡️ Test #45 ✅ - ```python - a = 1 - b = 2 - ``` - - **Phase setup**: - ```python - duration: 0.00023400294594466686 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00013925100211054087 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00012558000162243843 - ``` - - ```python - outcome: passed - ``` - +```python +a = 1 +b = 2 +``` +**Phase setup**: +```python +duration: 0.00022384594194591045 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00013274396769702435 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00012834800872951746 +outcome: passed +```
-
➡️ Test #46 ✅ - ```python - a = 3 - b = 4 - ``` - - **Phase setup**: - ```python - duration: 0.00019877997692674398 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00013119494542479515 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.0001211829949170351 - ``` - - ```python - outcome: passed - ``` - +```python +a = 3 +b = 4 +``` +**Phase setup**: +```python +duration: 0.00019882700871676207 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00012915697880089283 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00012601003982126713 +outcome: passed +```
- 🔧 test_non_literal_with_id @@ -3076,37 +2251,24 @@ E ModuleNotFoundError: No module named 'non_existent_module_xyz' -
➡️ Test #47 ✅ - ```python - data = (object object at 0x7f9c24b12960) - ``` - - **Phase setup**: - ```python - duration: 0.00016190006863325834 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00012434099335223436 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00011555198580026627 - ``` - - ```python - outcome: passed - ``` - +```python +data = (object object at 0x7f60ead92960) +``` +**Phase setup**: +```python +duration: 0.00015720701776444912 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00012327299918979406 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00012239604257047176 +outcome: passed +```
- 🔧 test_timedistance_v1 @@ -3114,77 +2276,51 @@ E ModuleNotFoundError: No module named 'non_existent_module_xyz' -
➡️ Test #48 ✅ - ```python - a = 2001-12-12 00:00:00 - b = 2001-12-11 00:00:00 - expected = 1 day, 0:00:00 - ``` - - **Phase setup**: - ```python - duration: 0.0002571989316493273 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001399889588356018 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00013831292744725943 - ``` - - ```python - outcome: passed - ``` - +```python +a = 2001-12-12 00:00:00 +b = 2001-12-11 00:00:00 +expected = 1 day, 0:00:00 +``` +**Phase setup**: +```python +duration: 0.00024150998797267675 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00012675498146563768 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00014125299639999866 +outcome: passed +```
-
➡️ Test #49 ✅ - ```python - a = 2001-12-11 00:00:00 - b = 2001-12-12 00:00:00 - expected = -1 day, 0:00:00 - ``` - - **Phase setup**: - ```python - duration: 0.00023924291599541903 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001324209151789546 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00013906206004321575 - ``` - - ```python - outcome: passed - ``` - +```python +a = 2001-12-11 00:00:00 +b = 2001-12-12 00:00:00 +expected = -1 day, 0:00:00 +``` +**Phase setup**: +```python +duration: 0.00024507089983671904 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00012770399916917086 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.0001356659922748804 +outcome: passed +```
- 🔧 TestDynamic @@ -3192,34 +2328,23 @@ E ModuleNotFoundError: No module named 'non_existent_module_xyz' -
➡️ Test #50 ❌ - **Phase setup**: - ```python - duration: 0.00014267698861658573 - ``` - - ```python - outcome: failed - ``` - - ```python - longrepr: file /workspace/tligui_y/slic/tests/test_param.py, line 71 +**Phase setup**: +```python +duration: 0.00013385596685111523 +outcome: failed +longrepr: file /workspace/tligui_y/slic/tests/test_param.py, line 71 def test_sum_positive(self, x, y): E fixture 'x' not found > available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, complex_setup, cov, doctest_namespace, element, extra, extras, include_metadata_in_junit_xml, json_metadata, metadata, monkeypatch, no_cover, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory > use 'pytest --fixtures [testpath]' for help on them. /workspace/tligui_y/slic/tests/test_param.py:71 - ``` - - **Phase teardown**: - ```python - duration: 0.00013613991905003786 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00012906803749501705 +outcome: passed +```
- 🔧 test_dynamic @@ -3227,109 +2352,70 @@ E fixture 'x' not found -
➡️ Test #51 ✅ - ```python - val = 10 - ``` - - **Phase setup**: - ```python - duration: 0.00020655698608607054 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00013182195834815502 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00012698001228272915 - ``` - - ```python - outcome: passed - ``` - +```python +val = 10 +``` +**Phase setup**: +```python +duration: 0.00017494498752057552 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00013861199840903282 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00011410994920879602 +outcome: passed +```
-
➡️ Test #52 ✅ - ```python - val = 20 - ``` - - **Phase setup**: - ```python - duration: 0.0001815370051190257 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00013134093023836613 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.0001166430301964283 - ``` - - ```python - outcome: passed - ``` - +```python +val = 20 +``` +**Phase setup**: +```python +duration: 0.00016953889280557632 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00013666797894984484 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00011997600086033344 +outcome: passed +```
-
➡️ Test #53 ✅ - ```python - val = 30 - ``` - - **Phase setup**: - ```python - duration: 0.00017475499771535397 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00012130895629525185 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.0001125759445130825 - ``` - - ```python - outcome: passed - ``` - +```python +val = 30 +``` +**Phase setup**: +```python +duration: 0.00015726592391729355 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00012070592492818832 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00011066696606576443 +outcome: passed +```
- 🔧 test_element_type @@ -3337,109 +2423,70 @@ E fixture 'x' not found -
➡️ Test #54 ✅ - ```python - element = fire - ``` - - **Phase setup**: - ```python - duration: 0.00016719300765544176 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001260379794985056 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00011229794472455978 - ``` - - ```python - outcome: passed - ``` - +```python +element = fire +``` +**Phase setup**: +```python +duration: 0.000157081987708807 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00012377998791635036 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00011919299140572548 +outcome: passed +```
-
➡️ Test #55 ✅ - ```python - element = water - ``` - - **Phase setup**: - ```python - duration: 0.00015640701167285442 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00013187795411795378 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00010796007700264454 - ``` - - ```python - outcome: passed - ``` - +```python +element = water +``` +**Phase setup**: +```python +duration: 0.0001570660388097167 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00011766701936721802 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00011045602150261402 +outcome: passed +```
-
➡️ Test #56 ✅ - ```python - element = earth - ``` - - **Phase setup**: - ```python - duration: 0.0001740779262036085 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00013319996651262045 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00011333997827023268 - ``` - - ```python - outcome: passed - ``` - +```python +element = earth +``` +**Phase setup**: +```python +duration: 0.0001631870400160551 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00012148695532232523 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00010961107909679413 +outcome: passed +```
- 🔧 test_combination @@ -3447,149 +2494,97 @@ E fixture 'x' not found -
➡️ Test #57 ✅ - ```python - y = a - x = 1 - ``` - - **Phase setup**: - ```python - duration: 0.00020084099378436804 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00012124504428356886 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00013047503307461739 - ``` - - ```python - outcome: passed - ``` - +```python +y = a +x = 1 +``` +**Phase setup**: +```python +duration: 0.00020132993813604116 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00012114504352211952 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00011804304085671902 +outcome: passed +```
-
➡️ Test #58 ✅ - ```python - y = a - x = 2 - ``` - - **Phase setup**: - ```python - duration: 0.00020516500808298588 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00012492493260651827 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.0001411070115864277 - ``` - - ```python - outcome: passed - ``` - +```python +y = a +x = 2 +``` +**Phase setup**: +```python +duration: 0.00021226401440799236 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00012519198935478926 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00012118497397750616 +outcome: passed +```
-
➡️ Test #59 ✅ - ```python - y = b - x = 1 - ``` - - **Phase setup**: - ```python - duration: 0.00025847903452813625 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00013042904902249575 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00012773694470524788 - ``` - - ```python - outcome: passed - ``` - +```python +y = b +x = 1 +``` +**Phase setup**: +```python +duration: 0.00020131096243858337 +outcome: passed +``` +**Phase call**: +```python +duration: 0.0001285249600186944 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00011938891839236021 +outcome: passed +```
-
➡️ Test #60 ✅ - ```python - y = b - x = 2 - ``` - - **Phase setup**: - ```python - duration: 0.00020302506163716316 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001228339970111847 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00012179906480014324 - ``` - - ```python - outcome: passed - ``` - +```python +y = b +x = 2 +``` +**Phase setup**: +```python +duration: 0.0002129090717062354 +outcome: passed +``` +**Phase call**: +```python +duration: 0.0001255950191989541 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00012167694512754679 +outcome: passed +```
- 🔧 test_indirect_fixture @@ -3597,73 +2592,47 @@ E fixture 'x' not found -
➡️ Test #61 ✅ - ```python - complex_setup = 1 - ``` - - **Phase setup**: - ```python - duration: 0.00016635505016893148 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00012651202268898487 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00012250803411006927 - ``` - - ```python - outcome: passed - ``` - +```python +complex_setup = 1 +``` +**Phase setup**: +```python +duration: 0.00028707797173410654 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00014225696213543415 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00011993502266705036 +outcome: passed +```
-
➡️ Test #62 ✅ - ```python - complex_setup = 2 - ``` - - **Phase setup**: - ```python - duration: 0.0002982179867103696 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00013707997277379036 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.0001217349199578166 - ``` - - ```python - outcome: passed - ``` - +```python +complex_setup = 2 +``` +**Phase setup**: +```python +duration: 0.0001818239688873291 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00013465608935803175 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00011313403956592083 +outcome: passed +```
- 🔧 test_addition @@ -3671,38 +2640,22 @@ E fixture 'x' not found -
➡️ Test #63 ❌ - **Phase setup**: - ```python - duration: 0.00010709604248404503 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00014379993081092834 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_param.py +**Phase setup**: +```python +duration: 0.00010968395508825779 +outcome: passed +``` +**Phase call**: +```python +duration: 0.0001437029568478465 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_param.py lineno: 107 message: NameError: name 'addition' is not defined - ``` - - ```python - traceback: - path: tests/test_param.py +traceback: - path: tests/test_param.py lineno: 107 message: NameError - ``` - - ```python - longrepr: a = 5, b = 5, expected = 10 +longrepr: a = 5, b = 5, expected = 10 def test_addition(a = 5, b = 5, expected = 10): # Has to pass @@ -3710,17 +2663,12 @@ message: NameError: name 'addition' is not defined E NameError: name 'addition' is not defined tests/test_param.py:107: NameError - ``` - - **Phase teardown**: - ```python - duration: 0.00014999904669821262 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00014277396257966757 +outcome: passed +```
@@ -3733,33 +2681,21 @@ tests/test_param.py:107: NameError -
➡️ Test #64 ✅ - **Phase setup**: - ```python - duration: 0.00014067802112549543 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00016923702787607908 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00010455900337547064 - ``` - - ```python - outcome: passed - ``` - +**Phase setup**: +```python +duration: 0.00012372992932796478 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00014094996731728315 +outcome: passed +``` +**Phase teardown**: +```python +duration: 9.931402746587992e-05 +outcome: passed +```
- 🔧 test_uppercase_type_error @@ -3767,41 +2703,25 @@ tests/test_param.py:107: NameError -
➡️ Test #65 ❌ - **Phase setup**: - ```python - duration: 0.00010720000136643648 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00015009997878223658 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/functions/string_utils.py +**Phase setup**: +```python +duration: 0.00010508997365832329 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00015333504416048527 +outcome: failed +crash: path: /workspace/tligui_y/slic/functions/string_utils.py lineno: 3 message: TypeError: Input cannot be None - ``` - - ```python - traceback: - path: tests/test_string_utils.py +traceback: - path: tests/test_string_utils.py lineno: 16 message: None - path: functions/string_utils.py lineno: 3 message: TypeError - ``` - - ```python - longrepr: def test_uppercase_type_error(): +longrepr: def test_uppercase_type_error(): # TypeError when input is None (invalid input) > uppercase(None) @@ -3816,17 +2736,12 @@ s = None E TypeError: Input cannot be None functions/string_utils.py:3: TypeError - ``` - - **Phase teardown**: - ```python - duration: 0.0001395619474351406 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.0001364019699394703 +outcome: passed +```
- 🔧 test_reverse_string @@ -3834,33 +2749,21 @@ functions/string_utils.py:3: TypeError -
➡️ Test #66 ✅ - **Phase setup**: - ```python - duration: 0.0001309829531237483 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0001380339963361621 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 9.963300544768572e-05 - ``` - - ```python - outcome: passed - ``` - +**Phase setup**: +```python +duration: 0.00012198707554489374 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00014580297283828259 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00010163011029362679 +outcome: passed +```
- 🔧 test_warning_emit @@ -3868,33 +2771,21 @@ functions/string_utils.py:3: TypeError -
➡️ Test #67 ✅ - **Phase setup**: - ```python - duration: 0.00010646798182278872 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00013757392298430204 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 9.742402471601963e-05 - ``` - - ```python - outcome: passed - ``` - +**Phase setup**: +```python +duration: 0.00010583607945591211 +outcome: passed +``` +**Phase call**: +```python +duration: 0.0001499350182712078 +outcome: passed +``` +**Phase teardown**: +```python +duration: 9.574298746883869e-05 +outcome: passed +```
- 🔧 test_unicode_decode_error @@ -3902,54 +2793,33 @@ functions/string_utils.py:3: TypeError -
➡️ Test #68 ❌ - **Phase setup**: - ```python - duration: 0.00011279701720923185 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00016177899669855833 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_string_utils.py +**Phase setup**: +```python +duration: 0.00010212499182671309 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00014186894986778498 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_string_utils.py lineno: 28 message: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte - ``` - - ```python - traceback: - path: tests/test_string_utils.py +traceback: - path: tests/test_string_utils.py lineno: 28 message: UnicodeDecodeError - ``` - - ```python - longrepr: def test_unicode_decode_error(): +longrepr: 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:28: UnicodeDecodeError - ``` - - **Phase teardown**: - ```python - duration: 0.000136271002702415 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.00013993994798511267 +outcome: passed +```
- 🔧 test_unicode_decode_surrogateescape @@ -3957,54 +2827,33 @@ tests/test_string_utils.py:28: UnicodeDecodeError -
➡️ Test #69 ❌ - **Phase setup**: - ```python - duration: 0.00011640391312539577 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.000156642054207623 - ``` - - ```python - outcome: failed - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_string_utils.py +**Phase setup**: +```python +duration: 0.00011533708311617374 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00015285809058696032 +outcome: failed +crash: path: /workspace/tligui_y/slic/tests/test_string_utils.py lineno: 32 message: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte - ``` - - ```python - traceback: - path: tests/test_string_utils.py +traceback: - path: tests/test_string_utils.py lineno: 32 message: UnicodeDecodeError - ``` - - ```python - longrepr: def test_unicode_decode_surrogateescape(): +longrepr: 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:32: UnicodeDecodeError - ``` - - **Phase teardown**: - ```python - duration: 0.00014564592856913805 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.0001345049822703004 +outcome: passed +```
- 🔧 test_import_warning @@ -4012,33 +2861,21 @@ tests/test_string_utils.py:32: UnicodeDecodeError -
➡️ Test #70 ✅ - **Phase setup**: - ```python - duration: 0.00011760997585952282 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.00013491208665072918 - ``` - - ```python - outcome: passed - ``` - - **Phase teardown**: - ```python - duration: 0.00011310703121125698 - ``` - - ```python - outcome: passed - ``` - +**Phase setup**: +```python +duration: 0.00011951301712542772 +outcome: passed +``` +**Phase call**: +```python +duration: 0.00013552408199757338 +outcome: passed +``` +**Phase teardown**: +```python +duration: 0.00010664795991033316 +outcome: passed +```
- 🔧 test_xfail_uppercase_digits @@ -4046,42 +2883,26 @@ tests/test_string_utils.py:32: UnicodeDecodeError -
➡️ Test #71 ❌ - **Phase setup**: - ```python - duration: 0.00011721206828951836 - ``` - - ```python - outcome: passed - ``` - - **Phase call**: - ```python - duration: 0.0005812039598822594 - ``` - - ```python - outcome: skipped - ``` - - ```python - crash: path: /workspace/tligui_y/slic/tests/test_string_utils.py +**Phase setup**: +```python +duration: 0.00011940405238419771 +outcome: passed +``` +**Phase call**: +```python +duration: 0.0005606090417131782 +outcome: skipped +crash: path: /workspace/tligui_y/slic/tests/test_string_utils.py lineno: 41 message: AssertionError: assert 'ABC123' == 'ABC1234' - ABC1234 ? - + ABC123 - ``` - - ```python - traceback: - path: tests/test_string_utils.py +traceback: - path: tests/test_string_utils.py lineno: 41 message: AssertionError - ``` - - ```python - longrepr: @pytest.mark.xfail(reason="Expected failure: uppercase does not handle digits") +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" @@ -4092,17 +2913,12 @@ E ? - E + ABC123 tests/test_string_utils.py:41: AssertionError - ``` - - **Phase teardown**: - ```python - duration: 0.0001365899806842208 - ``` - - ```python - outcome: passed - ``` - +``` +**Phase teardown**: +```python +duration: 0.0001342629548162222 +outcome: passed +```
- 🔧 test_keyboard_interrupt_direct @@ -4110,155 +2926,42 @@ tests/test_string_utils.py:41: AssertionError -
➡️ Test #72 ✅ - **Phase setup**: - ```python - duration: 0.00011774792801588774 - ``` - - ```python - outcome: passed - ``` - +**Phase setup**: +```python +duration: 0.00012114702258259058 +outcome: passed +```
## 📚 Collecteurs --
- 📁 - - - ✅ -
- --
- 📁 ci-reports/allure/data - - - ✅ ci-reports/allure/data -
- --
- 📁 ci-reports/allure/export - - - ✅ ci-reports/allure/export -
- --
- 📁 ci-reports/allure/history - - - ✅ ci-reports/allure/history -
- --
- 📁 ci-reports/allure/plugin/behaviors - - - ✅ ci-reports/allure/plugin/behaviors -
- --
- 📁 ci-reports/allure/plugin/packages - - - ✅ ci-reports/allure/plugin/packages -
- --
- 📁 ci-reports/allure/plugin/screen-diff - - - ✅ ci-reports/allure/plugin/screen-diff -
- --
- 📁 ci-reports/allure/plugin - - - ✅ ci-reports/allure/plugin -
- --
- 📁 ci-reports/allure/widgets - - - ✅ ci-reports/allure/widgets -
- --
- 📁 ci-reports/allure - - - ✅ ci-reports/allure -
- --
- 📁 ci-reports/coverage - - - ✅ ci-reports/coverage -
- --
- 📁 ci-reports/markdown - - - ✅ ci-reports/markdown -
- --
- 📁 ci-reports - - - ✅ ci-reports -
- --
- 📁 functions - - - ✅ functions -
- --
- 📁 test_broken_fct.py - - - ❌ tests/test_broken_fct.py - ``` - ``` -
- --
- 📁 test_collector_error.py - - - ❌ tests/test_collector_error.py - ``` - ``` -
- --
- 📁 test_io_utils.py - - - ✅ tests/test_io_utils.py -
- --
- 📁 test_math_utils.py - - - ✅ tests/test_math_utils.py -
- --
- 📁 test_param.py - - - ✅ tests/test_param.py::TestDynamic - - ✅ tests/test_param.py -
- --
- 📁 test_string_utils.py - - - ✅ tests/test_string_utils.py -
- --
- 📁 tests - - - ✅ tests -
- --
- 📁 . - - - ✅ . -
+- ✅ +- ✅ 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 +- ✅ ci-reports/allure/widgets +- ✅ ci-reports/allure +- ✅ ci-reports/coverage +- ✅ ci-reports/markdown +- ✅ ci-reports +- ✅ functions +- ❌ tests/test_broken_fct.py + ``` + ``` +- ❌ tests/test_collector_error.py + ``` + ``` +- ✅ tests/test_io_utils.py +- ✅ tests/test_math_utils.py +- ✅ tests/test_param.py::TestDynamic +- ✅ tests/test_param.py +- ✅ tests/test_string_utils.py +- ✅ tests +- ✅ . diff --git a/ci-reports/markdown/json-tree-view.txt b/ci-reports/markdown/json-tree-view.txt index cb0f3e2a..db1d9d4c 100644 --- a/ci-reports/markdown/json-tree-view.txt +++ b/ci-reports/markdown/json-tree-view.txt @@ -1,6 +1,6 @@ 📁 ci-reports/markdown/pytest-report.json -├── created: 1752798762.0008 -├── duration: 0.7801780700683594 +├── created: 1752799027.065262 +├── duration: 0.7222955226898193 ├── exitcode: 2 ├── root: /workspace/tligui_y/slic ├── environment @@ -523,13 +523,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0038437480106949806 +│ │ │ ├── duration: 0.003064414020627737 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0004594839410856366 +│ │ │ ├── duration: 0.0003954690182581544 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00025435700081288815 +│ │ ├── duration: 0.00028601393569260836 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_io_utils.py::test_write_file @@ -542,13 +542,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0004889399278908968 +│ │ │ ├── duration: 0.0004430660046637058 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00030194094870239496 +│ │ │ ├── duration: 0.0002886829897761345 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.0001907249679788947 +│ │ ├── duration: 0.00013849500101059675 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_io_utils.py::test_cause_io_error @@ -561,10 +561,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00012008403427898884 +│ │ │ ├── duration: 0.000123525969684124 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00016488495748490095 +│ │ │ ├── duration: 0.00015047297347337008 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/functions/io_utils.py @@ -593,7 +593,7 @@ │ │ │ │ │ │ functions/io_utils.py:10: OSError │ │ └── teardown -│ │ ├── duration: 0.00013930199202150106 +│ │ ├── duration: 0.00013842200860381126 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_io_utils.py::test_file_not_found @@ -606,10 +606,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00012087298091500998 +│ │ │ ├── duration: 0.00012411002535372972 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00017869193106889725 +│ │ │ ├── duration: 0.00017424102406948805 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/functions/io_utils.py @@ -642,7 +642,7 @@ │ │ │ │ │ │ functions/io_utils.py:2: FileNotFoundError │ │ └── teardown -│ │ ├── duration: 0.00014040910173207521 +│ │ ├── duration: 0.00013678998220711946 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_io_utils.py::test_permission_error @@ -655,10 +655,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00020003202371299267 +│ │ │ ├── duration: 0.0002058959798887372 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00017898296937346458 +│ │ │ ├── duration: 0.00016845099162310362 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_io_utils.py @@ -678,7 +678,7 @@ │ │ │ │ ├── lineno: 34 │ │ │ │ └── message: PermissionError │ │ │ └── longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object -│ │ │ at 0x7f9c24770730> +│ │ │ at 0x7f60eab79f40> │ │ │ │ │ │ def test_permission_error(monkeypatch): │ │ │ # Patch open to raise PermissionError simulating access @@ -704,7 +704,7 @@ │ │ │ │ │ │ tests/test_io_utils.py:34: PermissionError │ │ └── teardown -│ │ ├── duration: 0.00017602997832000256 +│ │ ├── duration: 0.00016465294174849987 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_io_utils.py::test_mock_open_error @@ -717,10 +717,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00020679400768131018 +│ │ │ ├── duration: 0.00018211407586932182 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0032904959516599774 +│ │ │ ├── duration: 0.00312842708081007 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: @@ -746,7 +746,7 @@ │ │ │ │ ├── lineno: 1140 │ │ │ │ └── message: OSError │ │ │ └── longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object -│ │ │ at 0x7f9c24762370> +│ │ │ at 0x7f60eab7b550> │ │ │ │ │ │ def test_mock_open_error(monkeypatch): │ │ │ # Mock open() to raise IOError simulating read error @@ -768,7 +768,7 @@ │ │ │ _ _ _ _ _ _ _ _ │ │ │ │ │ │ self = +│ │ │ id='140054231495152'> │ │ │ args = ('file.txt', 'r'), kwargs = {}, effect = OSError('Mocked │ │ │ IOError') │ │ │ @@ -786,7 +786,7 @@ │ │ │ │ │ │ .pixi/envs/default/lib/python3.8/unittest/mock.py:1140: OSError │ │ └── teardown -│ │ ├── duration: 0.0002600899897515774 +│ │ ├── duration: 0.00025683490093797445 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_io_utils.py::test_file_handle_closed_error @@ -799,10 +799,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0001395320286974311 +│ │ │ ├── duration: 0.00013340497389435768 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001780879683792591 +│ │ │ ├── duration: 0.0001857009483501315 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_io_utils.py @@ -822,7 +822,7 @@ │ │ │ │ │ │ tests/test_io_utils.py:50: ValueError │ │ └── teardown -│ │ ├── duration: 0.0001794290728867054 +│ │ ├── duration: 0.00016329297795891762 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_io_utils.py::test_os_error @@ -835,10 +835,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00024640699848532677 +│ │ │ ├── duration: 0.00022015604190528393 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00019164395052939653 +│ │ │ ├── duration: 0.00017855397891253233 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_io_utils.py @@ -854,7 +854,7 @@ │ │ │ │ ├── lineno: 55 │ │ │ │ └── message: OSError │ │ │ └── longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object -│ │ │ at 0x7f9c24be06a0> +│ │ │ at 0x7f60eab791f0> │ │ │ │ │ │ def test_os_error(monkeypatch): │ │ │ # Patch os.remove to raise OSError simulating filesystem @@ -876,7 +876,7 @@ │ │ │ │ │ │ tests/test_io_utils.py:55: OSError │ │ └── teardown -│ │ ├── duration: 0.00020751601550728083 +│ │ ├── duration: 0.0001693019876256585 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_io_utils.py::test_write_file_readonly @@ -889,13 +889,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0006025249604135752 +│ │ │ ├── duration: 0.000583123997785151 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0016794069670140743 +│ │ │ ├── duration: 0.0010682630818337202 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00015622703358530998 +│ │ ├── duration: 0.00014542590361088514 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_io_utils.py::test_file_not_found_error @@ -908,10 +908,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00011700298637151718 +│ │ │ ├── duration: 0.00012976001016795635 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00016800209414213896 +│ │ │ ├── duration: 0.00016401801258325577 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_io_utils.py @@ -932,7 +932,7 @@ │ │ │ │ │ │ tests/test_io_utils.py:69: FileNotFoundError │ │ └── teardown -│ │ ├── duration: 0.0001415599836036563 +│ │ ├── duration: 0.00013966707047075033 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_broken @@ -945,10 +945,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0001318629365414381 +│ │ │ ├── duration: 0.00013541895896196365 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00017085496801882982 +│ │ │ ├── duration: 0.00015435402747243643 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -968,7 +968,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:16: NameError │ │ └── teardown -│ │ ├── duration: 0.00015621399506926537 +│ │ ├── duration: 0.00013887800741940737 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_call_missing_function @@ -981,10 +981,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00012562796473503113 +│ │ │ ├── duration: 0.00011966994497925043 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00015558500308543444 +│ │ │ ├── duration: 0.00017390202265232801 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1005,7 +1005,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:20: AttributeError │ │ └── teardown -│ │ ├── duration: 0.00013841793406754732 +│ │ ├── duration: 0.00013803306501358747 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_addition_pass[2-2-4] @@ -1021,13 +1021,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00031065894290804863 +│ │ │ ├── duration: 0.00030337506905198097 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001566320424899459 +│ │ │ ├── duration: 0.0001472310395911336 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00015338498633354902 +│ │ ├── duration: 0.00014927901793271303 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_addition_pass[1-5-6] @@ -1043,13 +1043,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00026630901265889406 +│ │ │ ├── duration: 0.0002466000150889158 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00013422290794551373 +│ │ │ ├── duration: 0.00013141206000000238 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00013842794578522444 +│ │ ├── duration: 0.00014680309686809778 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_addition_pass[3-4-7] @@ -1065,13 +1065,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00024113606195896864 +│ │ │ ├── duration: 0.0002477209782227874 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00013330404181033373 +│ │ │ ├── duration: 0.00013030506670475006 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00014530110638588667 +│ │ ├── duration: 0.00014463497791439295 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_addition_pass[3-5-8] @@ -1087,13 +1087,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00024307798594236374 +│ │ │ ├── duration: 0.00024313991889357567 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001255340175703168 +│ │ │ ├── duration: 0.00013689696788787842 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00014843803364783525 +│ │ ├── duration: 0.00013256596866995096 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_addition_pass[3-6-9] @@ -1109,13 +1109,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00026487698778510094 +│ │ │ ├── duration: 0.0002418559743091464 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001368920784443617 +│ │ │ ├── duration: 0.00013788999058306217 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.0001444139052182436 +│ │ ├── duration: 0.0001337879803031683 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_addition_pass_id @@ -1131,13 +1131,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00023583602160215378 +│ │ │ ├── duration: 0.00023280095774680376 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00012579699978232384 +│ │ │ ├── duration: 0.00014865200500935316 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00015911890659481287 +│ │ ├── duration: 0.00013959198258817196 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_addition_pass_id @@ -1153,13 +1153,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0002489991020411253 +│ │ │ ├── duration: 0.00023917295038700104 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00012739200610667467 +│ │ │ ├── duration: 0.00012583995703607798 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.0001468999544158578 +│ │ ├── duration: 0.00013123499229550362 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_addition_pass_id @@ -1175,13 +1175,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00024843099527060986 +│ │ │ ├── duration: 0.00024115201085805893 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00012928410433232784 +│ │ │ ├── duration: 0.00013093394227325916 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00013446889352053404 +│ │ ├── duration: 0.0001339050941169262 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_addition_fail @@ -1194,10 +1194,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00010258995462208986 +│ │ │ ├── duration: 0.000102077960036695 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00046308001037687063 +│ │ │ ├── duration: 0.00044049706775695086 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1217,7 +1217,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:51: AssertionError │ │ └── teardown -│ │ ├── duration: 0.00014102703426033258 +│ │ ├── duration: 0.0001341069582849741 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_division_zero @@ -1230,10 +1230,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00011784397065639496 +│ │ │ ├── duration: 0.00011383299715816975 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00016114208847284317 +│ │ │ ├── duration: 0.0001522459788247943 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/functions/math_utils.py @@ -1265,7 +1265,7 @@ │ │ │ │ │ │ functions/math_utils.py:5: ZeroDivisionError │ │ └── teardown -│ │ ├── duration: 0.00014169001951813698 +│ │ ├── duration: 0.00015916302800178528 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_multiply_xfail @@ -1280,10 +1280,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0001358919544145465 +│ │ │ ├── duration: 0.00013021391350775957 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00027687696274369955 +│ │ │ ├── duration: 0.00026867608539760113 │ │ │ ├── outcome: skipped │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1305,7 +1305,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:60: AssertionError │ │ └── teardown -│ │ ├── duration: 0.00015252502635121346 +│ │ ├── duration: 0.00013974099420011044 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_runtime_error @@ -1318,10 +1318,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00012445799075067043 +│ │ │ ├── duration: 0.00011850893497467041 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00014967203605920076 +│ │ │ ├── duration: 0.00014949904289096594 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1339,7 +1339,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:64: RuntimeError │ │ └── teardown -│ │ ├── duration: 0.00013547996059060097 +│ │ ├── duration: 0.00013509602285921574 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_memory_error @@ -1352,10 +1352,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00011668202932924032 +│ │ │ ├── duration: 0.00012197601608932018 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00015499803703278303 +│ │ │ ├── duration: 0.00015143200289458036 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1374,7 +1374,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:68: MemoryError │ │ └── teardown -│ │ ├── duration: 0.00013663002755492926 +│ │ ├── duration: 0.00013622106052935123 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_timeout_error @@ -1387,10 +1387,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00011865096166729927 +│ │ │ ├── duration: 0.00012572493869811296 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001511209411546588 +│ │ │ ├── duration: 0.00014634698163717985 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1409,7 +1409,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:72: TimeoutError │ │ └── teardown -│ │ ├── duration: 0.00013699394185096025 +│ │ ├── duration: 0.0001388699747622013 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_recursion_error @@ -1422,10 +1422,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00014511100016534328 +│ │ │ ├── duration: 0.00011776597239077091 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0007979320362210274 +│ │ │ ├── duration: 0.0007699099369347095 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1460,7 +1460,7 @@ │ │ │ E RecursionError: maximum recursion depth exceeded │ │ │ !!! Recursion detected (same locals & position) │ │ └── teardown -│ │ ├── duration: 0.00014741206541657448 +│ │ ├── duration: 0.00013669009786099195 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_floating_point_error @@ -1473,10 +1473,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00012149498797953129 +│ │ │ ├── duration: 0.00011810206342488527 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.000155692920088768 +│ │ │ ├── duration: 0.00014972093049436808 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1495,7 +1495,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:82: FloatingPointError │ │ └── teardown -│ │ ├── duration: 0.00015416496898978949 +│ │ ├── duration: 0.00013711792416870594 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_floating_point_overflow @@ -1508,10 +1508,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00012532796245068312 +│ │ │ ├── duration: 0.0001150970347225666 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00016070902347564697 +│ │ │ ├── duration: 0.00014858506619930267 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1529,7 +1529,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:86: OverflowError │ │ └── teardown -│ │ ├── duration: 0.00014112098142504692 +│ │ ├── duration: 0.00014532904606312513 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_value_error @@ -1542,10 +1542,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00012924405746161938 +│ │ │ ├── duration: 0.00011505500879138708 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001559500815346837 +│ │ │ ├── duration: 0.00014920299872756004 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1565,7 +1565,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:90: ValueError │ │ └── teardown -│ │ ├── duration: 0.00014489307068288326 +│ │ ├── duration: 0.00013422605115920305 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_wrong_argument_error @@ -1578,10 +1578,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00011927192099392414 +│ │ │ ├── duration: 0.00012147706001996994 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001521919621154666 +│ │ │ ├── duration: 0.00016229506582021713 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1599,7 +1599,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:94: TypeError │ │ └── teardown -│ │ ├── duration: 0.00014423695392906666 +│ │ ├── duration: 0.0001347699435427785 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_unhandled_exception @@ -1612,10 +1612,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00012767105363309383 +│ │ │ ├── duration: 0.00011677993461489677 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001629869220778346 +│ │ │ ├── duration: 0.00014665990602225065 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1633,7 +1633,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:98: Exception │ │ └── teardown -│ │ ├── duration: 0.000142398988828063 +│ │ ├── duration: 0.00013511197175830603 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_custom_error @@ -1646,10 +1646,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00013101298827677965 +│ │ │ ├── duration: 0.00011444895062595606 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00016559194773435593 +│ │ │ ├── duration: 0.00014644104521721601 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1668,7 +1668,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:102: CustomError │ │ └── teardown -│ │ ├── duration: 0.0001530040754005313 +│ │ ├── duration: 0.0001340460730716586 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_stop_iteration_direct @@ -1681,10 +1681,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00012570898979902267 +│ │ │ ├── duration: 0.00012076692655682564 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00015604891814291477 +│ │ │ ├── duration: 0.00015103002078831196 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: @@ -1771,7 +1771,7 @@ │ │ │ │ │ │ cls = │ │ │ func = . at -│ │ │ 0x7f9c249014c0> +│ │ │ 0x7f60eb0cb700> │ │ │ when = 'call' │ │ │ reraise = (, ) @@ -1854,7 +1854,7 @@ │ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.p │ │ │ y:880: RuntimeError │ │ └── teardown -│ │ ├── duration: 0.0002206469653174281 +│ │ ├── duration: 0.00021930295042693615 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_generator_exit_direct @@ -1867,10 +1867,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00014731904957443476 +│ │ │ ├── duration: 0.00013241998385637999 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00017165997996926308 +│ │ │ ├── duration: 0.00016754702664911747 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1888,7 +1888,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:110: GeneratorExit │ │ └── teardown -│ │ ├── duration: 0.0001987079158425331 +│ │ ├── duration: 0.00015595101285725832 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_malformed_code @@ -1901,10 +1901,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00014790205750614405 +│ │ │ ├── duration: 0.0001389010576531291 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00017253297846764326 +│ │ │ ├── duration: 0.00016217608936131 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1928,7 +1928,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:114: SyntaxError │ │ └── teardown -│ │ ├── duration: 0.00017347594257444143 +│ │ ├── duration: 0.0001415919978171587 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_sys_exit @@ -1941,10 +1941,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00013301498256623745 +│ │ │ ├── duration: 0.00011660496238619089 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001655529486015439 +│ │ │ ├── duration: 0.0001450120471417904 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1962,7 +1962,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:118: SystemExit │ │ └── teardown -│ │ ├── duration: 0.00016879290342330933 +│ │ ├── duration: 0.00013641605619341135 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_broken_function @@ -1975,10 +1975,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0001412699930369854 +│ │ │ ├── duration: 0.00012267706915736198 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00017357897013425827 +│ │ │ ├── duration: 0.00015451502986252308 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -2011,7 +2011,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:123: TypeError │ │ └── teardown -│ │ ├── duration: 0.00017624208703637123 +│ │ ├── duration: 0.00014745595399290323 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_import_error @@ -2024,10 +2024,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0001337149878963828 +│ │ │ ├── duration: 0.00012112793046981096 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00016365700867027044 +│ │ │ ├── duration: 0.00015178602188825607 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -2044,7 +2044,7 @@ │ │ │ │ │ │ tests/test_math_utils.py:127: ImportError │ │ └── teardown -│ │ ├── duration: 0.00015379698015749454 +│ │ ├── duration: 0.00013570301234722137 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_math_utils.py::test_module_not_found_error @@ -2057,10 +2057,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0001382098998874426 +│ │ │ ├── duration: 0.00011593999806791544 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0004642170388251543 +│ │ │ ├── duration: 0.00046870403457432985 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: @@ -2108,7 +2108,7 @@ │ │ │ _ _ _ _ _ _ _ _ │ │ │ │ │ │ name = 'non_existent_module_xyz' -│ │ │ import_ = +│ │ │ import_ = │ │ │ │ │ │ > ??? │ │ │ E ModuleNotFoundError: No module named @@ -2116,7 +2116,7 @@ │ │ │ │ │ │ :973: ModuleNotFoundError │ │ └── teardown -│ │ ├── duration: 0.00018153688870370388 +│ │ ├── duration: 0.00015002302825450897 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_basic_ids @@ -2132,13 +2132,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0002498709363862872 +│ │ │ ├── duration: 0.00022526097018271685 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00015147600788623095 +│ │ │ ├── duration: 0.00014371797442436218 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00012397696264088154 +│ │ ├── duration: 0.000122594996355474 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_basic_ids @@ -2154,13 +2154,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00020894501358270645 +│ │ │ ├── duration: 0.00017435394693166018 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001292540691792965 +│ │ │ ├── duration: 0.00012613495346158743 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00011628190986812115 +│ │ ├── duration: 0.00011131190694868565 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_with_reason_and_marks @@ -2176,13 +2176,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0001730319345369935 +│ │ │ ├── duration: 0.00016763200983405113 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001298440620303154 +│ │ │ ├── duration: 0.00013808708172291517 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00011480401735752821 +│ │ ├── duration: 0.00012204505037516356 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_with_reason_and_marks @@ -2199,12 +2199,12 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00021425099112093449 +│ │ │ ├── duration: 0.00020836899057030678 │ │ │ ├── outcome: skipped │ │ │ └── longrepr: ('/workspace/tligui_y/slic/tests/test_param.py', 12, │ │ │ 'Skipped: nope') │ │ └── teardown -│ │ ├── duration: 0.00012704997789114714 +│ │ ├── duration: 0.00010653899516910315 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_multiple_positional_args[1-2] @@ -2220,13 +2220,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00023400294594466686 +│ │ │ ├── duration: 0.00022384594194591045 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00013925100211054087 +│ │ │ ├── duration: 0.00013274396769702435 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00012558000162243843 +│ │ ├── duration: 0.00012834800872951746 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_multiple_positional_args[3-4] @@ -2242,13 +2242,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00019877997692674398 +│ │ │ ├── duration: 0.00019882700871676207 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00013119494542479515 +│ │ │ ├── duration: 0.00012915697880089283 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.0001211829949170351 +│ │ ├── duration: 0.00012601003982126713 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_non_literal_with_id @@ -2264,13 +2264,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00016190006863325834 +│ │ │ ├── duration: 0.00015720701776444912 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00012434099335223436 +│ │ │ ├── duration: 0.00012327299918979406 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00011555198580026627 +│ │ ├── duration: 0.00012239604257047176 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_timedistance_v1 @@ -2286,13 +2286,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0002571989316493273 +│ │ │ ├── duration: 0.00024150998797267675 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001399889588356018 +│ │ │ ├── duration: 0.00012675498146563768 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00013831292744725943 +│ │ ├── duration: 0.00014125299639999866 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_timedistance_v1 @@ -2308,13 +2308,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00023924291599541903 +│ │ │ ├── duration: 0.00024507089983671904 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001324209151789546 +│ │ │ ├── duration: 0.00012770399916917086 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00013906206004321575 +│ │ ├── duration: 0.0001356659922748804 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::TestDynamic::test_sum_positive @@ -2328,7 +2328,7 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00014267698861658573 +│ │ │ ├── duration: 0.00013385596685111523 │ │ │ ├── outcome: failed │ │ │ └── longrepr: file /workspace/tligui_y/slic/tests/test_param.py, │ │ │ line 71 @@ -2345,7 +2345,7 @@ │ │ │ │ │ │ /workspace/tligui_y/slic/tests/test_param.py:71 │ │ └── teardown -│ │ ├── duration: 0.00013613991905003786 +│ │ ├── duration: 0.00012906803749501705 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_dynamic @@ -2359,13 +2359,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00020655698608607054 +│ │ │ ├── duration: 0.00017494498752057552 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00013182195834815502 +│ │ │ ├── duration: 0.00013861199840903282 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00012698001228272915 +│ │ ├── duration: 0.00011410994920879602 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_dynamic @@ -2379,13 +2379,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0001815370051190257 +│ │ │ ├── duration: 0.00016953889280557632 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00013134093023836613 +│ │ │ ├── duration: 0.00013666797894984484 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.0001166430301964283 +│ │ ├── duration: 0.00011997600086033344 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_dynamic @@ -2399,13 +2399,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00017475499771535397 +│ │ │ ├── duration: 0.00015726592391729355 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00012130895629525185 +│ │ │ ├── duration: 0.00012070592492818832 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.0001125759445130825 +│ │ ├── duration: 0.00011066696606576443 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_element_type[\U0001f525] @@ -2419,13 +2419,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00016719300765544176 +│ │ │ ├── duration: 0.000157081987708807 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001260379794985056 +│ │ │ ├── duration: 0.00012377998791635036 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00011229794472455978 +│ │ ├── duration: 0.00011919299140572548 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_element_type[\U0001f4a7] @@ -2439,13 +2439,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00015640701167285442 +│ │ │ ├── duration: 0.0001570660388097167 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00013187795411795378 +│ │ │ ├── duration: 0.00011766701936721802 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00010796007700264454 +│ │ ├── duration: 0.00011045602150261402 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_element_type[\U0001f30d] @@ -2459,13 +2459,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0001740779262036085 +│ │ │ ├── duration: 0.0001631870400160551 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00013319996651262045 +│ │ │ ├── duration: 0.00012148695532232523 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00011333997827023268 +│ │ ├── duration: 0.00010961107909679413 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_combination @@ -2481,13 +2481,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00020084099378436804 +│ │ │ ├── duration: 0.00020132993813604116 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00012124504428356886 +│ │ │ ├── duration: 0.00012114504352211952 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00013047503307461739 +│ │ ├── duration: 0.00011804304085671902 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_combination @@ -2503,13 +2503,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00020516500808298588 +│ │ │ ├── duration: 0.00021226401440799236 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00012492493260651827 +│ │ │ ├── duration: 0.00012519198935478926 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.0001411070115864277 +│ │ ├── duration: 0.00012118497397750616 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_combination @@ -2525,13 +2525,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00025847903452813625 +│ │ │ ├── duration: 0.00020131096243858337 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00013042904902249575 +│ │ │ ├── duration: 0.0001285249600186944 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00012773694470524788 +│ │ ├── duration: 0.00011938891839236021 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_combination @@ -2547,13 +2547,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00020302506163716316 +│ │ │ ├── duration: 0.0002129090717062354 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001228339970111847 +│ │ │ ├── duration: 0.0001255950191989541 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00012179906480014324 +│ │ ├── duration: 0.00012167694512754679 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_indirect_fixture[1] @@ -2569,13 +2569,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00016635505016893148 +│ │ │ ├── duration: 0.00028707797173410654 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00012651202268898487 +│ │ │ ├── duration: 0.00014225696213543415 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00012250803411006927 +│ │ ├── duration: 0.00011993502266705036 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_indirect_fixture[2] @@ -2591,13 +2591,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0002982179867103696 +│ │ │ ├── duration: 0.0001818239688873291 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00013707997277379036 +│ │ │ ├── duration: 0.00013465608935803175 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.0001217349199578166 +│ │ ├── duration: 0.00011313403956592083 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_param.py::test_addition @@ -2610,10 +2610,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00010709604248404503 +│ │ │ ├── duration: 0.00010968395508825779 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00014379993081092834 +│ │ │ ├── duration: 0.0001437029568478465 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_param.py @@ -2633,7 +2633,7 @@ │ │ │ │ │ │ tests/test_param.py:107: NameError │ │ └── teardown -│ │ ├── duration: 0.00014999904669821262 +│ │ ├── duration: 0.00014277396257966757 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_string_utils.py::test_uppercase_normal @@ -2646,13 +2646,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00014067802112549543 +│ │ │ ├── duration: 0.00012372992932796478 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00016923702787607908 +│ │ │ ├── duration: 0.00014094996731728315 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00010455900337547064 +│ │ ├── duration: 9.931402746587992e-05 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_string_utils.py::test_uppercase_type_error @@ -2665,10 +2665,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00010720000136643648 +│ │ │ ├── duration: 0.00010508997365832329 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00015009997878223658 +│ │ │ ├── duration: 0.00015333504416048527 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/functions/string_utils.py @@ -2700,7 +2700,7 @@ │ │ │ │ │ │ functions/string_utils.py:3: TypeError │ │ └── teardown -│ │ ├── duration: 0.0001395619474351406 +│ │ ├── duration: 0.0001364019699394703 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_string_utils.py::test_reverse_string @@ -2713,13 +2713,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.0001309829531237483 +│ │ │ ├── duration: 0.00012198707554489374 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0001380339963361621 +│ │ │ ├── duration: 0.00014580297283828259 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 9.963300544768572e-05 +│ │ ├── duration: 0.00010163011029362679 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_string_utils.py::test_warning_emit @@ -2732,13 +2732,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00010646798182278872 +│ │ │ ├── duration: 0.00010583607945591211 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00013757392298430204 +│ │ │ ├── duration: 0.0001499350182712078 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 9.742402471601963e-05 +│ │ ├── duration: 9.574298746883869e-05 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_string_utils.py::test_unicode_decode_error @@ -2751,10 +2751,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00011279701720923185 +│ │ │ ├── duration: 0.00010212499182671309 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00016177899669855833 +│ │ │ ├── duration: 0.00014186894986778498 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_string_utils.py @@ -2774,7 +2774,7 @@ │ │ │ │ │ │ tests/test_string_utils.py:28: UnicodeDecodeError │ │ └── teardown -│ │ ├── duration: 0.000136271002702415 +│ │ ├── duration: 0.00013993994798511267 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: @@ -2788,10 +2788,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00011640391312539577 +│ │ │ ├── duration: 0.00011533708311617374 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.000156642054207623 +│ │ │ ├── duration: 0.00015285809058696032 │ │ │ ├── outcome: failed │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_string_utils.py @@ -2812,7 +2812,7 @@ │ │ │ │ │ │ tests/test_string_utils.py:32: UnicodeDecodeError │ │ └── teardown -│ │ ├── duration: 0.00014564592856913805 +│ │ ├── duration: 0.0001345049822703004 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_string_utils.py::test_import_warning @@ -2825,13 +2825,13 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00011760997585952282 +│ │ │ ├── duration: 0.00011951301712542772 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.00013491208665072918 +│ │ │ ├── duration: 0.00013552408199757338 │ │ │ └── outcome: passed │ │ └── teardown -│ │ ├── duration: 0.00011310703121125698 +│ │ ├── duration: 0.00010664795991033316 │ │ └── outcome: passed │ ├── - │ │ ├── nodeid: tests/test_string_utils.py::test_xfail_uppercase_digits @@ -2846,10 +2846,10 @@ │ │ │ ├── slic │ │ │ └── │ │ ├── setup -│ │ │ ├── duration: 0.00011721206828951836 +│ │ │ ├── duration: 0.00011940405238419771 │ │ │ └── outcome: passed │ │ ├── call -│ │ │ ├── duration: 0.0005812039598822594 +│ │ │ ├── duration: 0.0005606090417131782 │ │ │ ├── outcome: skipped │ │ │ ├── crash │ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_string_utils.py @@ -2878,7 +2878,7 @@ │ │ │ │ │ │ tests/test_string_utils.py:41: AssertionError │ │ └── teardown -│ │ ├── duration: 0.0001365899806842208 +│ │ ├── duration: 0.0001342629548162222 │ │ └── outcome: passed │ └── - │ ├── nodeid: tests/test_string_utils.py::test_keyboard_interrupt_direct @@ -2891,7 +2891,7 @@ │ │ ├── slic │ │ └── │ └── setup -│ ├── duration: 0.00011774792801588774 +│ ├── duration: 0.00012114702258259058 │ └── outcome: passed └── warnings └── - diff --git a/ci-reports/markdown/pytest-report.json b/ci-reports/markdown/pytest-report.json index cd19d269..3b59ebd2 100644 --- a/ci-reports/markdown/pytest-report.json +++ b/ci-reports/markdown/pytest-report.json @@ -1 +1 @@ -{"created": 1752798762.0008, "duration": 0.7801780700683594, "exitcode": 2, "root": "/workspace/tligui_y/slic", "environment": {}, "summary": {"passed": 36, "failed": 32, "xfailed": 2, "skipped": 1, "error": 1, "total": 72, "collected": 72}, "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_param.py::TestDynamic", "outcome": "passed", "result": [{"nodeid": "tests/test_param.py::TestDynamic::test_sum_positive", "type": "Function", "lineno": 70}]}, {"nodeid": "tests/test_param.py", "outcome": "passed", "result": [{"nodeid": "tests/test_param.py::test_basic_ids[one]", "type": "Function", "lineno": 3}, {"nodeid": "tests/test_param.py::test_basic_ids[two]", "type": "Function", "lineno": 3}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[ten]", "type": "Function", "lineno": 11}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[twenty]", "type": "Function", "lineno": 11}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[1-2]", "type": "Function", "lineno": 19}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[3-4]", "type": "Function", "lineno": 19}, {"nodeid": "tests/test_param.py::test_non_literal_with_id[custom-obj]", "type": "Function", "lineno": 27}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a0-b0-expected0]", "type": "Function", "lineno": 40}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a1-b1-expected1]", "type": "Function", "lineno": 40}, {"nodeid": "tests/test_param.py::TestDynamic", "type": "Class"}, {"nodeid": "tests/test_param.py::test_dynamic[ten]", "type": "Function", "lineno": 78}, {"nodeid": "tests/test_param.py::test_dynamic[twenty]", "type": "Function", "lineno": 78}, {"nodeid": "tests/test_param.py::test_dynamic[thirty]", "type": "Function", "lineno": 78}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f525]", "type": "Function", "lineno": 87}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f4a7]", "type": "Function", "lineno": 87}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f30d]", "type": "Function", "lineno": 87}, {"nodeid": "tests/test_param.py::test_combination[a-1]", "type": "Function", "lineno": 90}, {"nodeid": "tests/test_param.py::test_combination[a-2]", "type": "Function", "lineno": 90}, {"nodeid": "tests/test_param.py::test_combination[b-1]", "type": "Function", "lineno": 90}, {"nodeid": "tests/test_param.py::test_combination[b-2]", "type": "Function", "lineno": 90}, {"nodeid": "tests/test_param.py::test_indirect_fixture[1]", "type": "Function", "lineno": 100}, {"nodeid": "tests/test_param.py::test_indirect_fixture[2]", "type": "Function", "lineno": 100}, {"nodeid": "tests/test_param.py::test_addition", "type": "Function", "lineno": 104}]}, {"nodeid": "tests/test_string_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "type": "Function", "lineno": 9}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "type": "Function", "lineno": 13}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "type": "Function", "lineno": 17}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "type": "Function", "lineno": 21}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "type": "Function", "lineno": 25}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "type": "Function", "lineno": 29}, {"nodeid": "tests/test_string_utils.py::test_import_warning", "type": "Function", "lineno": 33}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "type": "Function", "lineno": 37}, {"nodeid": "tests/test_string_utils.py::test_keyboard_interrupt_direct", "type": "Function", "lineno": 49}]}, {"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_param.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.0038437480106949806, "outcome": "passed"}, "call": {"duration": 0.0004594839410856366, "outcome": "passed"}, "teardown": {"duration": 0.00025435700081288815, "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.0004889399278908968, "outcome": "passed"}, "call": {"duration": 0.00030194094870239496, "outcome": "passed"}, "teardown": {"duration": 0.0001907249679788947, "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.00012008403427898884, "outcome": "passed"}, "call": {"duration": 0.00016488495748490095, "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.00013930199202150106, "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.00012087298091500998, "outcome": "passed"}, "call": {"duration": 0.00017869193106889725, "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.00014040910173207521, "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.00020003202371299267, "outcome": "passed"}, "call": {"duration": 0.00017898296937346458, "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 0x7f9c24770730>\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.00017602997832000256, "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.00020679400768131018, "outcome": "passed"}, "call": {"duration": 0.0032904959516599774, "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 0x7f9c24762370>\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.0002600899897515774, "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.0001395320286974311, "outcome": "passed"}, "call": {"duration": 0.0001780879683792591, "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.0001794290728867054, "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.00024640699848532677, "outcome": "passed"}, "call": {"duration": 0.00019164395052939653, "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 0x7f9c24be06a0>\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.00020751601550728083, "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.0006025249604135752, "outcome": "passed"}, "call": {"duration": 0.0016794069670140743, "outcome": "passed"}, "teardown": {"duration": 0.00015622703358530998, "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.00011700298637151718, "outcome": "passed"}, "call": {"duration": 0.00016800209414213896, "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.0001415599836036563, "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.0001318629365414381, "outcome": "passed"}, "call": {"duration": 0.00017085496801882982, "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.00015621399506926537, "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.00012562796473503113, "outcome": "passed"}, "call": {"duration": 0.00015558500308543444, "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.00013841793406754732, "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.00031065894290804863, "outcome": "passed"}, "call": {"duration": 0.0001566320424899459, "outcome": "passed"}, "teardown": {"duration": 0.00015338498633354902, "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.00026630901265889406, "outcome": "passed"}, "call": {"duration": 0.00013422290794551373, "outcome": "passed"}, "teardown": {"duration": 0.00013842794578522444, "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.00024113606195896864, "outcome": "passed"}, "call": {"duration": 0.00013330404181033373, "outcome": "passed"}, "teardown": {"duration": 0.00014530110638588667, "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.00024307798594236374, "outcome": "passed"}, "call": {"duration": 0.0001255340175703168, "outcome": "passed"}, "teardown": {"duration": 0.00014843803364783525, "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.00026487698778510094, "outcome": "passed"}, "call": {"duration": 0.0001368920784443617, "outcome": "passed"}, "teardown": {"duration": 0.0001444139052182436, "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.00023583602160215378, "outcome": "passed"}, "call": {"duration": 0.00012579699978232384, "outcome": "passed"}, "teardown": {"duration": 0.00015911890659481287, "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.0002489991020411253, "outcome": "passed"}, "call": {"duration": 0.00012739200610667467, "outcome": "passed"}, "teardown": {"duration": 0.0001468999544158578, "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.00024843099527060986, "outcome": "passed"}, "call": {"duration": 0.00012928410433232784, "outcome": "passed"}, "teardown": {"duration": 0.00013446889352053404, "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.00010258995462208986, "outcome": "passed"}, "call": {"duration": 0.00046308001037687063, "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.00014102703426033258, "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.00011784397065639496, "outcome": "passed"}, "call": {"duration": 0.00016114208847284317, "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.00014169001951813698, "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.0001358919544145465, "outcome": "passed"}, "call": {"duration": 0.00027687696274369955, "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.00015252502635121346, "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.00012445799075067043, "outcome": "passed"}, "call": {"duration": 0.00014967203605920076, "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.00013547996059060097, "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.00011668202932924032, "outcome": "passed"}, "call": {"duration": 0.00015499803703278303, "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.00013663002755492926, "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.00011865096166729927, "outcome": "passed"}, "call": {"duration": 0.0001511209411546588, "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.00013699394185096025, "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.00014511100016534328, "outcome": "passed"}, "call": {"duration": 0.0007979320362210274, "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.00014741206541657448, "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.00012149498797953129, "outcome": "passed"}, "call": {"duration": 0.000155692920088768, "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.00015416496898978949, "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.00012532796245068312, "outcome": "passed"}, "call": {"duration": 0.00016070902347564697, "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.00014112098142504692, "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.00012924405746161938, "outcome": "passed"}, "call": {"duration": 0.0001559500815346837, "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.00014489307068288326, "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.00011927192099392414, "outcome": "passed"}, "call": {"duration": 0.0001521919621154666, "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.00014423695392906666, "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.00012767105363309383, "outcome": "passed"}, "call": {"duration": 0.0001629869220778346, "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.000142398988828063, "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.00013101298827677965, "outcome": "passed"}, "call": {"duration": 0.00016559194773435593, "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.0001530040754005313, "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.00012570898979902267, "outcome": "passed"}, "call": {"duration": 0.00015604891814291477, "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 0x7f9c249014c0>\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.0002206469653174281, "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.00014731904957443476, "outcome": "passed"}, "call": {"duration": 0.00017165997996926308, "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.0001987079158425331, "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.00014790205750614405, "outcome": "passed"}, "call": {"duration": 0.00017253297846764326, "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.00017347594257444143, "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.00013301498256623745, "outcome": "passed"}, "call": {"duration": 0.0001655529486015439, "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.00016879290342330933, "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.0001412699930369854, "outcome": "passed"}, "call": {"duration": 0.00017357897013425827, "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.00017624208703637123, "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.0001337149878963828, "outcome": "passed"}, "call": {"duration": 0.00016365700867027044, "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.00015379698015749454, "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.0001382098998874426, "outcome": "passed"}, "call": {"duration": 0.0004642170388251543, "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.00018153688870370388, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_basic_ids[one]", "lineno": 3, "outcome": "passed", "keywords": ["test_basic_ids[one]", "parametrize", "pytestmark", "one", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002498709363862872, "outcome": "passed"}, "call": {"duration": 0.00015147600788623095, "outcome": "passed"}, "teardown": {"duration": 0.00012397696264088154, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_basic_ids[two]", "lineno": 3, "outcome": "passed", "keywords": ["test_basic_ids[two]", "parametrize", "pytestmark", "two", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00020894501358270645, "outcome": "passed"}, "call": {"duration": 0.0001292540691792965, "outcome": "passed"}, "teardown": {"duration": 0.00011628190986812115, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[ten]", "lineno": 11, "outcome": "passed", "keywords": ["test_with_reason_and_marks[ten]", "parametrize", "pytestmark", "ten", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0001730319345369935, "outcome": "passed"}, "call": {"duration": 0.0001298440620303154, "outcome": "passed"}, "teardown": {"duration": 0.00011480401735752821, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[twenty]", "lineno": 11, "outcome": "skipped", "keywords": ["test_with_reason_and_marks[twenty]", "parametrize", "skip", "pytestmark", "twenty", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00021425099112093449, "outcome": "skipped", "longrepr": "('/workspace/tligui_y/slic/tests/test_param.py', 12, 'Skipped: nope')"}, "teardown": {"duration": 0.00012704997789114714, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[1-2]", "lineno": 19, "outcome": "passed", "keywords": ["test_multiple_positional_args[1-2]", "parametrize", "pytestmark", "1-2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00023400294594466686, "outcome": "passed"}, "call": {"duration": 0.00013925100211054087, "outcome": "passed"}, "teardown": {"duration": 0.00012558000162243843, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[3-4]", "lineno": 19, "outcome": "passed", "keywords": ["test_multiple_positional_args[3-4]", "parametrize", "pytestmark", "3-4", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00019877997692674398, "outcome": "passed"}, "call": {"duration": 0.00013119494542479515, "outcome": "passed"}, "teardown": {"duration": 0.0001211829949170351, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_non_literal_with_id[custom-obj]", "lineno": 27, "outcome": "passed", "keywords": ["test_non_literal_with_id[custom-obj]", "parametrize", "pytestmark", "custom-obj", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00016190006863325834, "outcome": "passed"}, "call": {"duration": 0.00012434099335223436, "outcome": "passed"}, "teardown": {"duration": 0.00011555198580026627, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a0-b0-expected0]", "lineno": 40, "outcome": "passed", "keywords": ["test_timedistance_v1[a0-b0-expected0]", "parametrize", "pytestmark", "a0-b0-expected0", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002571989316493273, "outcome": "passed"}, "call": {"duration": 0.0001399889588356018, "outcome": "passed"}, "teardown": {"duration": 0.00013831292744725943, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a1-b1-expected1]", "lineno": 40, "outcome": "passed", "keywords": ["test_timedistance_v1[a1-b1-expected1]", "parametrize", "pytestmark", "a1-b1-expected1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00023924291599541903, "outcome": "passed"}, "call": {"duration": 0.0001324209151789546, "outcome": "passed"}, "teardown": {"duration": 0.00013906206004321575, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::TestDynamic::test_sum_positive", "lineno": 70, "outcome": "error", "keywords": ["test_sum_positive", "TestDynamic", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00014267698861658573, "outcome": "failed", "longrepr": "file /workspace/tligui_y/slic/tests/test_param.py, line 71\n def test_sum_positive(self, x, y):\nE fixture 'x' not found\n> available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, complex_setup, cov, doctest_namespace, element, extra, extras, include_metadata_in_junit_xml, json_metadata, metadata, monkeypatch, no_cover, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory\n> use 'pytest --fixtures [testpath]' for help on them.\n\n/workspace/tligui_y/slic/tests/test_param.py:71"}, "teardown": {"duration": 0.00013613991905003786, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_dynamic[ten]", "lineno": 78, "outcome": "passed", "keywords": ["test_dynamic[ten]", "ten", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00020655698608607054, "outcome": "passed"}, "call": {"duration": 0.00013182195834815502, "outcome": "passed"}, "teardown": {"duration": 0.00012698001228272915, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_dynamic[twenty]", "lineno": 78, "outcome": "passed", "keywords": ["test_dynamic[twenty]", "twenty", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0001815370051190257, "outcome": "passed"}, "call": {"duration": 0.00013134093023836613, "outcome": "passed"}, "teardown": {"duration": 0.0001166430301964283, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_dynamic[thirty]", "lineno": 78, "outcome": "passed", "keywords": ["test_dynamic[thirty]", "thirty", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00017475499771535397, "outcome": "passed"}, "call": {"duration": 0.00012130895629525185, "outcome": "passed"}, "teardown": {"duration": 0.0001125759445130825, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f525]", "lineno": 87, "outcome": "passed", "keywords": ["test_element_type[\\U0001f525]", "\\U0001f525", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00016719300765544176, "outcome": "passed"}, "call": {"duration": 0.0001260379794985056, "outcome": "passed"}, "teardown": {"duration": 0.00011229794472455978, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f4a7]", "lineno": 87, "outcome": "passed", "keywords": ["test_element_type[\\U0001f4a7]", "\\U0001f4a7", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00015640701167285442, "outcome": "passed"}, "call": {"duration": 0.00013187795411795378, "outcome": "passed"}, "teardown": {"duration": 0.00010796007700264454, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f30d]", "lineno": 87, "outcome": "passed", "keywords": ["test_element_type[\\U0001f30d]", "\\U0001f30d", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0001740779262036085, "outcome": "passed"}, "call": {"duration": 0.00013319996651262045, "outcome": "passed"}, "teardown": {"duration": 0.00011333997827023268, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[a-1]", "lineno": 90, "outcome": "passed", "keywords": ["test_combination[a-1]", "parametrize", "pytestmark", "a-1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00020084099378436804, "outcome": "passed"}, "call": {"duration": 0.00012124504428356886, "outcome": "passed"}, "teardown": {"duration": 0.00013047503307461739, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[a-2]", "lineno": 90, "outcome": "passed", "keywords": ["test_combination[a-2]", "parametrize", "pytestmark", "a-2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00020516500808298588, "outcome": "passed"}, "call": {"duration": 0.00012492493260651827, "outcome": "passed"}, "teardown": {"duration": 0.0001411070115864277, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[b-1]", "lineno": 90, "outcome": "passed", "keywords": ["test_combination[b-1]", "parametrize", "pytestmark", "b-1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00025847903452813625, "outcome": "passed"}, "call": {"duration": 0.00013042904902249575, "outcome": "passed"}, "teardown": {"duration": 0.00012773694470524788, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[b-2]", "lineno": 90, "outcome": "passed", "keywords": ["test_combination[b-2]", "parametrize", "pytestmark", "b-2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00020302506163716316, "outcome": "passed"}, "call": {"duration": 0.0001228339970111847, "outcome": "passed"}, "teardown": {"duration": 0.00012179906480014324, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_indirect_fixture[1]", "lineno": 100, "outcome": "passed", "keywords": ["test_indirect_fixture[1]", "parametrize", "pytestmark", "1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00016635505016893148, "outcome": "passed"}, "call": {"duration": 0.00012651202268898487, "outcome": "passed"}, "teardown": {"duration": 0.00012250803411006927, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_indirect_fixture[2]", "lineno": 100, "outcome": "passed", "keywords": ["test_indirect_fixture[2]", "parametrize", "pytestmark", "2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002982179867103696, "outcome": "passed"}, "call": {"duration": 0.00013707997277379036, "outcome": "passed"}, "teardown": {"duration": 0.0001217349199578166, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_addition", "lineno": 104, "outcome": "failed", "keywords": ["test_addition", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00010709604248404503, "outcome": "passed"}, "call": {"duration": 0.00014379993081092834, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_param.py", "lineno": 107, "message": "NameError: name 'addition' is not defined"}, "traceback": [{"path": "tests/test_param.py", "lineno": 107, "message": "NameError"}], "longrepr": "a = 5, b = 5, expected = 10\n\n def test_addition(a = 5, b = 5, expected = 10):\n # Has to pass\n> assert addition(a, b) == expected\nE NameError: name 'addition' is not defined\n\ntests/test_param.py:107: NameError"}, "teardown": {"duration": 0.00014999904669821262, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "lineno": 9, "outcome": "passed", "keywords": ["test_uppercase_normal", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00014067802112549543, "outcome": "passed"}, "call": {"duration": 0.00016923702787607908, "outcome": "passed"}, "teardown": {"duration": 0.00010455900337547064, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "lineno": 13, "outcome": "failed", "keywords": ["test_uppercase_type_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010720000136643648, "outcome": "passed"}, "call": {"duration": 0.00015009997878223658, "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": 16, "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:16: \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.0001395619474351406, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "lineno": 17, "outcome": "passed", "keywords": ["test_reverse_string", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0001309829531237483, "outcome": "passed"}, "call": {"duration": 0.0001380339963361621, "outcome": "passed"}, "teardown": {"duration": 9.963300544768572e-05, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "lineno": 21, "outcome": "passed", "keywords": ["test_warning_emit", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010646798182278872, "outcome": "passed"}, "call": {"duration": 0.00013757392298430204, "outcome": "passed"}, "teardown": {"duration": 9.742402471601963e-05, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "lineno": 25, "outcome": "failed", "keywords": ["test_unicode_decode_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011279701720923185, "outcome": "passed"}, "call": {"duration": 0.00016177899669855833, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 28, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 28, "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:28: UnicodeDecodeError"}, "teardown": {"duration": 0.000136271002702415, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "lineno": 29, "outcome": "failed", "keywords": ["test_unicode_decode_surrogateescape", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011640391312539577, "outcome": "passed"}, "call": {"duration": 0.000156642054207623, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 32, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 32, "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:32: UnicodeDecodeError"}, "teardown": {"duration": 0.00014564592856913805, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_import_warning", "lineno": 33, "outcome": "passed", "keywords": ["test_import_warning", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011760997585952282, "outcome": "passed"}, "call": {"duration": 0.00013491208665072918, "outcome": "passed"}, "teardown": {"duration": 0.00011310703121125698, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "lineno": 37, "outcome": "xfailed", "keywords": ["test_xfail_uppercase_digits", "xfail", "pytestmark", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011721206828951836, "outcome": "passed"}, "call": {"duration": 0.0005812039598822594, "outcome": "skipped", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 41, "message": "AssertionError: assert 'ABC123' == 'ABC1234'\n \n - ABC1234\n ? -\n + ABC123"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 41, "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:41: AssertionError"}, "teardown": {"duration": 0.0001365899806842208, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_keyboard_interrupt_direct", "lineno": 49, "outcome": "passed", "keywords": ["test_keyboard_interrupt_direct", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011774792801588774, "outcome": "passed"}}], "warnings": [{"message": "Test warning", "category": "UserWarning", "when": "runtest", "filename": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 24}]} \ No newline at end of file +{"created": 1752799027.065262, "duration": 0.7222955226898193, "exitcode": 2, "root": "/workspace/tligui_y/slic", "environment": {}, "summary": {"passed": 36, "failed": 32, "xfailed": 2, "skipped": 1, "error": 1, "total": 72, "collected": 72}, "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_param.py::TestDynamic", "outcome": "passed", "result": [{"nodeid": "tests/test_param.py::TestDynamic::test_sum_positive", "type": "Function", "lineno": 70}]}, {"nodeid": "tests/test_param.py", "outcome": "passed", "result": [{"nodeid": "tests/test_param.py::test_basic_ids[one]", "type": "Function", "lineno": 3}, {"nodeid": "tests/test_param.py::test_basic_ids[two]", "type": "Function", "lineno": 3}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[ten]", "type": "Function", "lineno": 11}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[twenty]", "type": "Function", "lineno": 11}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[1-2]", "type": "Function", "lineno": 19}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[3-4]", "type": "Function", "lineno": 19}, {"nodeid": "tests/test_param.py::test_non_literal_with_id[custom-obj]", "type": "Function", "lineno": 27}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a0-b0-expected0]", "type": "Function", "lineno": 40}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a1-b1-expected1]", "type": "Function", "lineno": 40}, {"nodeid": "tests/test_param.py::TestDynamic", "type": "Class"}, {"nodeid": "tests/test_param.py::test_dynamic[ten]", "type": "Function", "lineno": 78}, {"nodeid": "tests/test_param.py::test_dynamic[twenty]", "type": "Function", "lineno": 78}, {"nodeid": "tests/test_param.py::test_dynamic[thirty]", "type": "Function", "lineno": 78}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f525]", "type": "Function", "lineno": 87}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f4a7]", "type": "Function", "lineno": 87}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f30d]", "type": "Function", "lineno": 87}, {"nodeid": "tests/test_param.py::test_combination[a-1]", "type": "Function", "lineno": 90}, {"nodeid": "tests/test_param.py::test_combination[a-2]", "type": "Function", "lineno": 90}, {"nodeid": "tests/test_param.py::test_combination[b-1]", "type": "Function", "lineno": 90}, {"nodeid": "tests/test_param.py::test_combination[b-2]", "type": "Function", "lineno": 90}, {"nodeid": "tests/test_param.py::test_indirect_fixture[1]", "type": "Function", "lineno": 100}, {"nodeid": "tests/test_param.py::test_indirect_fixture[2]", "type": "Function", "lineno": 100}, {"nodeid": "tests/test_param.py::test_addition", "type": "Function", "lineno": 104}]}, {"nodeid": "tests/test_string_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "type": "Function", "lineno": 9}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "type": "Function", "lineno": 13}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "type": "Function", "lineno": 17}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "type": "Function", "lineno": 21}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "type": "Function", "lineno": 25}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "type": "Function", "lineno": 29}, {"nodeid": "tests/test_string_utils.py::test_import_warning", "type": "Function", "lineno": 33}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "type": "Function", "lineno": 37}, {"nodeid": "tests/test_string_utils.py::test_keyboard_interrupt_direct", "type": "Function", "lineno": 49}]}, {"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_param.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.003064414020627737, "outcome": "passed"}, "call": {"duration": 0.0003954690182581544, "outcome": "passed"}, "teardown": {"duration": 0.00028601393569260836, "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.0004430660046637058, "outcome": "passed"}, "call": {"duration": 0.0002886829897761345, "outcome": "passed"}, "teardown": {"duration": 0.00013849500101059675, "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.000123525969684124, "outcome": "passed"}, "call": {"duration": 0.00015047297347337008, "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.00013842200860381126, "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.00012411002535372972, "outcome": "passed"}, "call": {"duration": 0.00017424102406948805, "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.00013678998220711946, "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.0002058959798887372, "outcome": "passed"}, "call": {"duration": 0.00016845099162310362, "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 0x7f60eab79f40>\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.00016465294174849987, "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.00018211407586932182, "outcome": "passed"}, "call": {"duration": 0.00312842708081007, "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 0x7f60eab7b550>\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.00025683490093797445, "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.00013340497389435768, "outcome": "passed"}, "call": {"duration": 0.0001857009483501315, "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.00016329297795891762, "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.00022015604190528393, "outcome": "passed"}, "call": {"duration": 0.00017855397891253233, "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 0x7f60eab791f0>\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.0001693019876256585, "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.000583123997785151, "outcome": "passed"}, "call": {"duration": 0.0010682630818337202, "outcome": "passed"}, "teardown": {"duration": 0.00014542590361088514, "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.00012976001016795635, "outcome": "passed"}, "call": {"duration": 0.00016401801258325577, "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.00013966707047075033, "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.00013541895896196365, "outcome": "passed"}, "call": {"duration": 0.00015435402747243643, "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.00013887800741940737, "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.00011966994497925043, "outcome": "passed"}, "call": {"duration": 0.00017390202265232801, "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.00013803306501358747, "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.00030337506905198097, "outcome": "passed"}, "call": {"duration": 0.0001472310395911336, "outcome": "passed"}, "teardown": {"duration": 0.00014927901793271303, "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.0002466000150889158, "outcome": "passed"}, "call": {"duration": 0.00013141206000000238, "outcome": "passed"}, "teardown": {"duration": 0.00014680309686809778, "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.0002477209782227874, "outcome": "passed"}, "call": {"duration": 0.00013030506670475006, "outcome": "passed"}, "teardown": {"duration": 0.00014463497791439295, "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.00024313991889357567, "outcome": "passed"}, "call": {"duration": 0.00013689696788787842, "outcome": "passed"}, "teardown": {"duration": 0.00013256596866995096, "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.0002418559743091464, "outcome": "passed"}, "call": {"duration": 0.00013788999058306217, "outcome": "passed"}, "teardown": {"duration": 0.0001337879803031683, "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.00023280095774680376, "outcome": "passed"}, "call": {"duration": 0.00014865200500935316, "outcome": "passed"}, "teardown": {"duration": 0.00013959198258817196, "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.00023917295038700104, "outcome": "passed"}, "call": {"duration": 0.00012583995703607798, "outcome": "passed"}, "teardown": {"duration": 0.00013123499229550362, "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.00024115201085805893, "outcome": "passed"}, "call": {"duration": 0.00013093394227325916, "outcome": "passed"}, "teardown": {"duration": 0.0001339050941169262, "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.000102077960036695, "outcome": "passed"}, "call": {"duration": 0.00044049706775695086, "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.0001341069582849741, "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.00011383299715816975, "outcome": "passed"}, "call": {"duration": 0.0001522459788247943, "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.00015916302800178528, "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.00013021391350775957, "outcome": "passed"}, "call": {"duration": 0.00026867608539760113, "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.00013974099420011044, "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.00011850893497467041, "outcome": "passed"}, "call": {"duration": 0.00014949904289096594, "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.00013509602285921574, "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.00012197601608932018, "outcome": "passed"}, "call": {"duration": 0.00015143200289458036, "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.00013622106052935123, "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.00012572493869811296, "outcome": "passed"}, "call": {"duration": 0.00014634698163717985, "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.0001388699747622013, "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.00011776597239077091, "outcome": "passed"}, "call": {"duration": 0.0007699099369347095, "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.00013669009786099195, "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.00011810206342488527, "outcome": "passed"}, "call": {"duration": 0.00014972093049436808, "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.00013711792416870594, "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.0001150970347225666, "outcome": "passed"}, "call": {"duration": 0.00014858506619930267, "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.00014532904606312513, "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.00011505500879138708, "outcome": "passed"}, "call": {"duration": 0.00014920299872756004, "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.00013422605115920305, "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.00012147706001996994, "outcome": "passed"}, "call": {"duration": 0.00016229506582021713, "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.0001347699435427785, "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.00011677993461489677, "outcome": "passed"}, "call": {"duration": 0.00014665990602225065, "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.00013511197175830603, "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.00011444895062595606, "outcome": "passed"}, "call": {"duration": 0.00014644104521721601, "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.0001340460730716586, "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.00012076692655682564, "outcome": "passed"}, "call": {"duration": 0.00015103002078831196, "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 0x7f60eb0cb700>\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.00021930295042693615, "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.00013241998385637999, "outcome": "passed"}, "call": {"duration": 0.00016754702664911747, "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.00015595101285725832, "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.0001389010576531291, "outcome": "passed"}, "call": {"duration": 0.00016217608936131, "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.0001415919978171587, "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.00011660496238619089, "outcome": "passed"}, "call": {"duration": 0.0001450120471417904, "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.00013641605619341135, "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.00012267706915736198, "outcome": "passed"}, "call": {"duration": 0.00015451502986252308, "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.00014745595399290323, "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.00012112793046981096, "outcome": "passed"}, "call": {"duration": 0.00015178602188825607, "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.00013570301234722137, "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.00011593999806791544, "outcome": "passed"}, "call": {"duration": 0.00046870403457432985, "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.00015002302825450897, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_basic_ids[one]", "lineno": 3, "outcome": "passed", "keywords": ["test_basic_ids[one]", "parametrize", "pytestmark", "one", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00022526097018271685, "outcome": "passed"}, "call": {"duration": 0.00014371797442436218, "outcome": "passed"}, "teardown": {"duration": 0.000122594996355474, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_basic_ids[two]", "lineno": 3, "outcome": "passed", "keywords": ["test_basic_ids[two]", "parametrize", "pytestmark", "two", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00017435394693166018, "outcome": "passed"}, "call": {"duration": 0.00012613495346158743, "outcome": "passed"}, "teardown": {"duration": 0.00011131190694868565, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[ten]", "lineno": 11, "outcome": "passed", "keywords": ["test_with_reason_and_marks[ten]", "parametrize", "pytestmark", "ten", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00016763200983405113, "outcome": "passed"}, "call": {"duration": 0.00013808708172291517, "outcome": "passed"}, "teardown": {"duration": 0.00012204505037516356, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[twenty]", "lineno": 11, "outcome": "skipped", "keywords": ["test_with_reason_and_marks[twenty]", "parametrize", "skip", "pytestmark", "twenty", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00020836899057030678, "outcome": "skipped", "longrepr": "('/workspace/tligui_y/slic/tests/test_param.py', 12, 'Skipped: nope')"}, "teardown": {"duration": 0.00010653899516910315, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[1-2]", "lineno": 19, "outcome": "passed", "keywords": ["test_multiple_positional_args[1-2]", "parametrize", "pytestmark", "1-2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00022384594194591045, "outcome": "passed"}, "call": {"duration": 0.00013274396769702435, "outcome": "passed"}, "teardown": {"duration": 0.00012834800872951746, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[3-4]", "lineno": 19, "outcome": "passed", "keywords": ["test_multiple_positional_args[3-4]", "parametrize", "pytestmark", "3-4", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00019882700871676207, "outcome": "passed"}, "call": {"duration": 0.00012915697880089283, "outcome": "passed"}, "teardown": {"duration": 0.00012601003982126713, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_non_literal_with_id[custom-obj]", "lineno": 27, "outcome": "passed", "keywords": ["test_non_literal_with_id[custom-obj]", "parametrize", "pytestmark", "custom-obj", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00015720701776444912, "outcome": "passed"}, "call": {"duration": 0.00012327299918979406, "outcome": "passed"}, "teardown": {"duration": 0.00012239604257047176, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a0-b0-expected0]", "lineno": 40, "outcome": "passed", "keywords": ["test_timedistance_v1[a0-b0-expected0]", "parametrize", "pytestmark", "a0-b0-expected0", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00024150998797267675, "outcome": "passed"}, "call": {"duration": 0.00012675498146563768, "outcome": "passed"}, "teardown": {"duration": 0.00014125299639999866, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a1-b1-expected1]", "lineno": 40, "outcome": "passed", "keywords": ["test_timedistance_v1[a1-b1-expected1]", "parametrize", "pytestmark", "a1-b1-expected1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00024507089983671904, "outcome": "passed"}, "call": {"duration": 0.00012770399916917086, "outcome": "passed"}, "teardown": {"duration": 0.0001356659922748804, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::TestDynamic::test_sum_positive", "lineno": 70, "outcome": "error", "keywords": ["test_sum_positive", "TestDynamic", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00013385596685111523, "outcome": "failed", "longrepr": "file /workspace/tligui_y/slic/tests/test_param.py, line 71\n def test_sum_positive(self, x, y):\nE fixture 'x' not found\n> available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, complex_setup, cov, doctest_namespace, element, extra, extras, include_metadata_in_junit_xml, json_metadata, metadata, monkeypatch, no_cover, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory\n> use 'pytest --fixtures [testpath]' for help on them.\n\n/workspace/tligui_y/slic/tests/test_param.py:71"}, "teardown": {"duration": 0.00012906803749501705, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_dynamic[ten]", "lineno": 78, "outcome": "passed", "keywords": ["test_dynamic[ten]", "ten", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00017494498752057552, "outcome": "passed"}, "call": {"duration": 0.00013861199840903282, "outcome": "passed"}, "teardown": {"duration": 0.00011410994920879602, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_dynamic[twenty]", "lineno": 78, "outcome": "passed", "keywords": ["test_dynamic[twenty]", "twenty", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00016953889280557632, "outcome": "passed"}, "call": {"duration": 0.00013666797894984484, "outcome": "passed"}, "teardown": {"duration": 0.00011997600086033344, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_dynamic[thirty]", "lineno": 78, "outcome": "passed", "keywords": ["test_dynamic[thirty]", "thirty", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00015726592391729355, "outcome": "passed"}, "call": {"duration": 0.00012070592492818832, "outcome": "passed"}, "teardown": {"duration": 0.00011066696606576443, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f525]", "lineno": 87, "outcome": "passed", "keywords": ["test_element_type[\\U0001f525]", "\\U0001f525", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.000157081987708807, "outcome": "passed"}, "call": {"duration": 0.00012377998791635036, "outcome": "passed"}, "teardown": {"duration": 0.00011919299140572548, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f4a7]", "lineno": 87, "outcome": "passed", "keywords": ["test_element_type[\\U0001f4a7]", "\\U0001f4a7", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0001570660388097167, "outcome": "passed"}, "call": {"duration": 0.00011766701936721802, "outcome": "passed"}, "teardown": {"duration": 0.00011045602150261402, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f30d]", "lineno": 87, "outcome": "passed", "keywords": ["test_element_type[\\U0001f30d]", "\\U0001f30d", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0001631870400160551, "outcome": "passed"}, "call": {"duration": 0.00012148695532232523, "outcome": "passed"}, "teardown": {"duration": 0.00010961107909679413, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[a-1]", "lineno": 90, "outcome": "passed", "keywords": ["test_combination[a-1]", "parametrize", "pytestmark", "a-1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00020132993813604116, "outcome": "passed"}, "call": {"duration": 0.00012114504352211952, "outcome": "passed"}, "teardown": {"duration": 0.00011804304085671902, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[a-2]", "lineno": 90, "outcome": "passed", "keywords": ["test_combination[a-2]", "parametrize", "pytestmark", "a-2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00021226401440799236, "outcome": "passed"}, "call": {"duration": 0.00012519198935478926, "outcome": "passed"}, "teardown": {"duration": 0.00012118497397750616, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[b-1]", "lineno": 90, "outcome": "passed", "keywords": ["test_combination[b-1]", "parametrize", "pytestmark", "b-1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00020131096243858337, "outcome": "passed"}, "call": {"duration": 0.0001285249600186944, "outcome": "passed"}, "teardown": {"duration": 0.00011938891839236021, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[b-2]", "lineno": 90, "outcome": "passed", "keywords": ["test_combination[b-2]", "parametrize", "pytestmark", "b-2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002129090717062354, "outcome": "passed"}, "call": {"duration": 0.0001255950191989541, "outcome": "passed"}, "teardown": {"duration": 0.00012167694512754679, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_indirect_fixture[1]", "lineno": 100, "outcome": "passed", "keywords": ["test_indirect_fixture[1]", "parametrize", "pytestmark", "1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00028707797173410654, "outcome": "passed"}, "call": {"duration": 0.00014225696213543415, "outcome": "passed"}, "teardown": {"duration": 0.00011993502266705036, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_indirect_fixture[2]", "lineno": 100, "outcome": "passed", "keywords": ["test_indirect_fixture[2]", "parametrize", "pytestmark", "2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0001818239688873291, "outcome": "passed"}, "call": {"duration": 0.00013465608935803175, "outcome": "passed"}, "teardown": {"duration": 0.00011313403956592083, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_addition", "lineno": 104, "outcome": "failed", "keywords": ["test_addition", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00010968395508825779, "outcome": "passed"}, "call": {"duration": 0.0001437029568478465, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_param.py", "lineno": 107, "message": "NameError: name 'addition' is not defined"}, "traceback": [{"path": "tests/test_param.py", "lineno": 107, "message": "NameError"}], "longrepr": "a = 5, b = 5, expected = 10\n\n def test_addition(a = 5, b = 5, expected = 10):\n # Has to pass\n> assert addition(a, b) == expected\nE NameError: name 'addition' is not defined\n\ntests/test_param.py:107: NameError"}, "teardown": {"duration": 0.00014277396257966757, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "lineno": 9, "outcome": "passed", "keywords": ["test_uppercase_normal", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012372992932796478, "outcome": "passed"}, "call": {"duration": 0.00014094996731728315, "outcome": "passed"}, "teardown": {"duration": 9.931402746587992e-05, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "lineno": 13, "outcome": "failed", "keywords": ["test_uppercase_type_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010508997365832329, "outcome": "passed"}, "call": {"duration": 0.00015333504416048527, "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": 16, "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:16: \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.0001364019699394703, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "lineno": 17, "outcome": "passed", "keywords": ["test_reverse_string", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012198707554489374, "outcome": "passed"}, "call": {"duration": 0.00014580297283828259, "outcome": "passed"}, "teardown": {"duration": 0.00010163011029362679, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "lineno": 21, "outcome": "passed", "keywords": ["test_warning_emit", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010583607945591211, "outcome": "passed"}, "call": {"duration": 0.0001499350182712078, "outcome": "passed"}, "teardown": {"duration": 9.574298746883869e-05, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "lineno": 25, "outcome": "failed", "keywords": ["test_unicode_decode_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010212499182671309, "outcome": "passed"}, "call": {"duration": 0.00014186894986778498, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 28, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 28, "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:28: UnicodeDecodeError"}, "teardown": {"duration": 0.00013993994798511267, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "lineno": 29, "outcome": "failed", "keywords": ["test_unicode_decode_surrogateescape", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011533708311617374, "outcome": "passed"}, "call": {"duration": 0.00015285809058696032, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 32, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 32, "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:32: UnicodeDecodeError"}, "teardown": {"duration": 0.0001345049822703004, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_import_warning", "lineno": 33, "outcome": "passed", "keywords": ["test_import_warning", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011951301712542772, "outcome": "passed"}, "call": {"duration": 0.00013552408199757338, "outcome": "passed"}, "teardown": {"duration": 0.00010664795991033316, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "lineno": 37, "outcome": "xfailed", "keywords": ["test_xfail_uppercase_digits", "xfail", "pytestmark", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011940405238419771, "outcome": "passed"}, "call": {"duration": 0.0005606090417131782, "outcome": "skipped", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 41, "message": "AssertionError: assert 'ABC123' == 'ABC1234'\n \n - ABC1234\n ? -\n + ABC123"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 41, "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:41: AssertionError"}, "teardown": {"duration": 0.0001342629548162222, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_keyboard_interrupt_direct", "lineno": 49, "outcome": "passed", "keywords": ["test_keyboard_interrupt_direct", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012114702258259058, "outcome": "passed"}}], "warnings": [{"message": "Test warning", "category": "UserWarning", "when": "runtest", "filename": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 24}]} \ No newline at end of file diff --git a/ci-reports/markdown/runtime_params.json b/ci-reports/markdown/runtime_params.json index efabdbea..cbeefbd0 100644 --- a/ci-reports/markdown/runtime_params.json +++ b/ci-reports/markdown/runtime_params.json @@ -266,7 +266,7 @@ "nodeid": "tests/test_param.py::test_non_literal_with_id[custom-obj]", "callspec": { "params": { - "data": "" + "data": "" }, "id": "custom-obj" }