diff --git a/ci-reports/markdown/TEST-REPORT.md b/ci-reports/markdown/TEST-REPORT.md index 5288fed3..ab815a3d 100644 --- a/ci-reports/markdown/TEST-REPORT.md +++ b/ci-reports/markdown/TEST-REPORT.md @@ -58,7 +58,7 @@ ERROR tests/test_collector_error.py ============================= test session starts ============================== platform linux -- Python 3.8.20, pytest-8.3.4, pluggy-1.5.0 rootdir: /workspace/tligui_y/slic -plugins: metadata-3.1.1, allure-pytest-2.13.5, html-4.1.1, cov-5.0.0, json-report-1.5.0, md-report-0.6.2 +plugins: allure-pytest-2.13.5, metadata-3.1.1, html-4.1.1, cov-5.0.0, json-report-1.5.0, md-report-0.6.2 collected 49 items / 2 errors tests/test_io_utils.py ..FFFFFF.F @@ -133,7 +133,7 @@ E FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.fil functions/io_utils.py:2: FileNotFoundError ____________________________ test_permission_error _____________________________ -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f493e640790> +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f75fdf3ad30> def test_permission_error(monkeypatch): # Patch open to raise PermissionError simulating access denial @@ -157,7 +157,7 @@ E PermissionError: Permission denied tests/test_io_utils.py:34: PermissionError _____________________________ test_mock_open_error _____________________________ -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f4940be78b0> +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f75fdf133d0> def test_mock_open_error(monkeypatch): # Mock open() to raise IOError simulating read error @@ -174,7 +174,7 @@ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ return self._execute_mock_call(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -self = +self = args = ('file.txt', 'r'), kwargs = {}, effect = OSError('Mocked IOError') def _execute_mock_call(self, /, *args, **kwargs): @@ -200,7 +200,7 @@ E ValueError: I/O operation on closed file tests/test_io_utils.py:50: ValueError ________________________________ test_os_error _________________________________ -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f493e890a00> +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f75fb1afb50> def test_os_error(monkeypatch): # Patch os.remove to raise OSError simulating filesystem error @@ -368,7 +368,7 @@ tests/test_math_utils.py:106: StopIteration The above exception was the direct cause of the following exception: cls = -func = . at 0x7f4940a9d4c0> +func = . at 0x7f75fae984c0> when = 'call' reraise = (, ) @@ -497,7 +497,7 @@ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'non_existent_module_xyz' -import_ = +import_ = > ??? E ModuleNotFoundError: No module named 'non_existent_module_xyz' @@ -597,10 +597,10 @@ ERROR tests/test_collector_error.py --- # πŸ§ͺ Test Report -*Generated on 2025-07-16 12:04:46* +*Generated on 2025-07-16 12:07:33* ## 🧾 General Info -- **duration**: 0.7570886611938477 +- **duration**: 0.7579972743988037 - **root**: /workspace/tligui_y/slic - **environment**: @@ -612,5290 +612,4600 @@ ERROR tests/test_collector_error.py - **Collected**: 49 ## πŸ”Ž Tests -
-βœ… Passed (16) +-
+ βœ… Passed (16) -    
-    πŸ“ test_io_utils.py - -            
-        πŸ”§ Function: `test_read_file` - -                        
-                βœ… #1 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00321923999581486 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0004633590579032898 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0002454259665682912 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_write_file` - -                        
-                βœ… #2 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0004545260453596711 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0002933889627456665 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001393860438838601 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_write_file_readonly` - -                        
-                βœ… #9 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0007309979991987348 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0011486930307000875 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00017095496878027916 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- - -    
- -    
-    πŸ“ test_math_utils.py - -            
-        πŸ”§ Function: `test_addition_pass` - -                        
-                βœ… #13 parameters: [2-2-4] - -                - **Parameters:** `2-2-4` - -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0003253769828006625 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00014887808356434107 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00014638900756835938 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- -                
-                βœ… #14 parameters: [1-5-6] - -                - **Parameters:** `1-5-6` - -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00024312594905495644 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012967397924512625 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00013816100545227528 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- -                
-                βœ… #15 parameters: [3-4-7] - -                - **Parameters:** `3-4-7` - -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00024071696680039167 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012603902723640203 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00013374199625104666 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- -                
-                βœ… #16 parameters: [3-5-8] - -                - **Parameters:** `3-5-8` - -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0002415491035208106 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001275360118597746 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00013520196080207825 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- -                
-                βœ… #17 parameters: [3-6-9] - -                - **Parameters:** `3-6-9` - -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0002358530182391405 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012420292478054762 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00013899896293878555 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_addition_pass_id` - -                        
-                βœ… #18 parameters: [a=2,b=2,expected=4] - -                - **Parameters:** `a=2,b=2,expected=4` - -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.000232266029343009 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012126704677939415 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00014193891547620296 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- -                
-                βœ… #19 parameters: [a=1,b=5,expected=6] - -                - **Parameters:** `a=1,b=5,expected=6` - -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0002371090231463313 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012584496289491653 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00013804901391267776 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- -                
-                βœ… #20 parameters: [a=3,b=4,expected=7] - -                - **Parameters:** `a=3,b=4,expected=7` - -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00022840395104140043 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012091908138245344 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012851599603891373 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- - -    
- -    
-    πŸ“ test_string_utils.py - -            
-        πŸ”§ Function: `test_uppercase_normal` - -                        
-                βœ… #41 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015098403673619032 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00017254997510463 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00010489905253052711 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_reverse_string` - -                        
-                βœ… #43 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001231759088113904 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001606049481779337 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001024989178404212 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_warning_emit` - -                        
-                βœ… #44 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012036692351102829 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00014876201748847961 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00010146305430680513 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_import_warning` - -                        
-                βœ… #47 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00011685490608215332 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001364720519632101 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00010040798224508762 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_keyboard_interrupt_direct` - -                        
-                βœ… #49 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00011554500088095665 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- - -    
- - -
- -
-❌ Failed (31) - -    
-    πŸ“ test_io_utils.py - -            
-        πŸ”§ Function: `test_cause_io_error` - -                        
-                βŒ #3 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001128810690715909 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015642296057194471 -``` -                    
- -                    
-                    πŸ“Œ 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: None -path: functions/io_utils.py -lineno: 10 -message: OSError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -def test_cause_io_error(): - # Raises manual IOError to simulate IO failure -> cause_io_error() - -tests/test_io_utils.py:25: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - - def cause_io_error(): -> raise IOError("Forced IO Error for testing") -E OSError: Forced IO Error for testing - -functions/io_utils.py:10: OSError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00013895600568503141 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_file_not_found` - -                        
-                βŒ #4 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00011689297389239073 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001734360121190548 -``` -                    
- -                    
-                    πŸ“Œ 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: None -path: functions/io_utils.py -lineno: 2 -message: FileNotFoundError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -def test_file_not_found(): - # Reading non-existing file raises FileNotFoundError -> read_file("nonexistent.file") - -tests/test_io_utils.py:29: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -path = 'nonexistent.file' - - def read_file(path): -> with open(path, "r", encoding="utf-8") as f: -E FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.file' - -functions/io_utils.py:2: FileNotFoundError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00013961305376142263 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_permission_error` - -                        
-                βŒ #5 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00019421393517404795 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00018298206850886345 -``` -                    
- -                    
-                    πŸ“Œ 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: None -path: functions/io_utils.py -lineno: 2 -message: in read_file -path: tests/test_io_utils.py -lineno: 34 -message: PermissionError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f493e640790> - - def test_permission_error(monkeypatch): - # Patch open to raise PermissionError simulating access denial - def raise_perm_error(*args, **kwargs): - raise PermissionError("Permission denied") - monkeypatch.setattr("builtins.open", raise_perm_error) -> read_file("anyfile.txt") - -tests/test_io_utils.py:36: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -functions/io_utils.py:2: in read_file - with open(path, "r", encoding="utf-8") as f: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -args = ('anyfile.txt', 'r'), kwargs = {'encoding': 'utf-8'} - - def raise_perm_error(*args, **kwargs): -> raise PermissionError("Permission denied") -E PermissionError: Permission denied - -tests/test_io_utils.py:34: PermissionError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00017319596372544765 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_mock_open_error` - -                        
-                βŒ #6 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00018824997823685408 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0032462620874866843 -``` -                    
- -                    
-                    πŸ“Œ 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: None -path: .pixi/envs/default/lib/python3.8/unittest/mock.py -lineno: 1081 -message: in __call__ -path: .pixi/envs/default/lib/python3.8/unittest/mock.py -lineno: 1085 -message: in _mock_call -path: .pixi/envs/default/lib/python3.8/unittest/mock.py -lineno: 1140 -message: OSError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f4940be78b0> - - def test_mock_open_error(monkeypatch): - # Mock open() to raise IOError simulating read error - mocked_open = mock.mock_open() - mocked_open.side_effect = IOError("Mocked IOError") - monkeypatch.setattr("builtins.open", mocked_open) -> with open("file.txt", "r") as f: - -tests/test_io_utils.py:43: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -.pixi/envs/default/lib/python3.8/unittest/mock.py:1081: in __call__ - return self._mock_call(*args, **kwargs) -.pixi/envs/default/lib/python3.8/unittest/mock.py:1085: in _mock_call - return self._execute_mock_call(*args, **kwargs) -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -self = -args = ('file.txt', 'r'), kwargs = {}, effect = OSError('Mocked IOError') - - def _execute_mock_call(self, /, *args, **kwargs): - # separate from _increment_mock_call so that awaited functions are - # executed separately from their call, also AsyncMock overrides this method - - effect = self.side_effect - if effect is not None: - if _is_exception(effect): -> raise effect -E OSError: Mocked IOError - -.pixi/envs/default/lib/python3.8/unittest/mock.py:1140: OSError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0003263390390202403 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_file_handle_closed_error` - -                        
-                βŒ #7 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00014246092177927494 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001970680896192789 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # Accessing closed file raises ValueError - f = io.StringIO("content") - f.close() -> f.read() -E ValueError: I/O operation on closed file - -tests/test_io_utils.py:50: ValueError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0002128200139850378 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_os_error` - -                        
-                βŒ #8 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00026681809686124325 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0002024330897256732 -``` -                    
- -                    
-                    πŸ“Œ 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: None -path: tests/test_io_utils.py -lineno: 55 -message: OSError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f493e890a00> - - def test_os_error(monkeypatch): - # Patch os.remove to raise OSError simulating filesystem error - def raise_os_error(path): - raise OSError("Simulated OSError") - monkeypatch.setattr("os.remove", raise_os_error) -> os.remove("file.txt") - -tests/test_io_utils.py:57: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -path = 'file.txt' - - def raise_os_error(path): -> raise OSError("Simulated OSError") -E OSError: Simulated OSError - -tests/test_io_utils.py:55: OSError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0002230729442089796 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_file_not_found_error` - -                        
-                βŒ #10 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012563099153339863 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001828729873523116 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # 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 -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015336996875703335 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- - -    
- -    
-    πŸ“ test_math_utils.py - -            
-        πŸ”§ Function: `test_broken` - -                        
-                βŒ #11 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00013724295422434807 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00016569090075790882 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # 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 -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001451720017939806 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_call_missing_function` - -                        
-                βŒ #12 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012158905155956745 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00016618601512163877 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # 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 -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00014295498840510845 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_addition_fail` - -                        
-                βŒ #21 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00010106305126100779 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.000486643984913826 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -failed -``` -                    
- -                    
-                    πŸ“Œ Crash - -                    ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py -lineno: 51 -message: assert 4 == 5 - + where 4 = addition(2, 2) -``` -                    
- -                    
-                    πŸ“Œ Traceback - -                    ``` -path: tests/test_math_utils.py -lineno: 51 -message: AssertionError -``` -                    
- -                    
-                    πŸ“Œ 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 -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001554629998281598 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_division_zero` - -                        
-                βŒ #22 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012273492757230997 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00016533804591745138 -``` -                    
- -                    
-                    πŸ“Œ 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: None -path: functions/math_utils.py -lineno: 5 -message: ZeroDivisionError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -def test_division_zero(): - # Will raise ZeroDivisionError if not handled in division -> division(1, 0) - -tests/test_math_utils.py:55: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -a = 1, b = 0 - - def division(a, b): -> return a / b -E ZeroDivisionError: division by zero - -functions/math_utils.py:5: ZeroDivisionError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001436159946024418 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_runtime_error` - -                        
-                βŒ #24 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00011740799527615309 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001482230145484209 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # Test raises an uncaught RuntimeError -> raise RuntimeError("Forced runtime error") -E RuntimeError: Forced runtime error - -tests/test_math_utils.py:64: RuntimeError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00013889698311686516 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_memory_error` - -                        
-                βŒ #25 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00011997309047728777 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001547200372442603 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # 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 -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001455649035051465 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_timeout_error` - -                        
-                βŒ #26 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012025400064885616 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015303399413824081 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # Manually raise TimeoutError simulating timeout conditions -> raise TimeoutError("Simulated timeout error") -E TimeoutError: Simulated timeout error - -tests/test_math_utils.py:72: TimeoutError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00014734896831214428 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_recursion_error` - -                        
-                βŒ #27 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00011818902567029 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0007903999648988247 -``` -                    
- -                    
-                    πŸ“Œ 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: None -path: tests/test_math_utils.py -lineno: 77 -message: in recursive -path: tests/test_math_utils.py -lineno: 77 -message: in recursive -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -def test_recursion_error(): - # Infinite recursion triggers RecursionError - def recursive(): - return recursive() -> recursive() - -tests/test_math_utils.py:78: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -tests/test_math_utils.py:77: in recursive - return recursive() -tests/test_math_utils.py:77: in recursive - return recursive() -E RecursionError: maximum recursion depth exceeded -!!! Recursion detected (same locals & position) -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001874910667538643 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_floating_point_error` - -                        
-                βŒ #28 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012736197095364332 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00016365398187190294 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # Manually raise FloatingPointError -> raise FloatingPointError("Simulated floating point error") -E FloatingPointError: Simulated floating point error - -tests/test_math_utils.py:82: FloatingPointError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00016006093937903643 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_floating_point_overflow` - -                        
-                βŒ #29 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012055807746946812 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00017829297576099634 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # Exponential overflow triggers OverflowError -> math.exp(1000) -E OverflowError: math range error - -tests/test_math_utils.py:86: OverflowError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015965697821229696 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_value_error` - -                        
-                βŒ #30 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012488593347370625 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00016532395966351032 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # ValueError on invalid integer conversion -> int("invalid") -E ValueError: invalid literal for int() with base 10: 'invalid' - -tests/test_math_utils.py:90: ValueError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015142792835831642 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_wrong_argument_error` - -                        
-                βŒ #31 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001261590514332056 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015774695202708244 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # TypeError when passing wrong argument type to sum -> sum(5) -E TypeError: 'int' object is not iterable - -tests/test_math_utils.py:94: TypeError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015948491636663675 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_unhandled_exception` - -                        
-                βŒ #32 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012020498979836702 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015334703493863344 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # Raises generic unhandled Exception -> raise Exception("Generic unhandled exception") -E Exception: Generic unhandled exception - -tests/test_math_utils.py:98: Exception -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015508197247982025 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_custom_error` - -                        
-                βŒ #33 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00013578298967331648 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015712098684161901 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # 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 -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.000151930027641356 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_stop_iteration_direct` - -                        
-                βŒ #34 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012169498950242996 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015942996833473444 -``` -                    
- -                    
-                    πŸ“Œ 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: None -path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py -lineno: 242 -message: in -path: .pixi/envs/default/lib/python3.8/site-packages/pluggy/_hooks.py -lineno: 513 -message: in __call__ -path: .pixi/envs/default/lib/python3.8/site-packages/pluggy/_manager.py -lineno: 120 -message: in _hookexec -path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py -lineno: 92 -message: in pytest_runtest_call -path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py -lineno: 68 -message: in thread_exception_runtest_hook -path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py -lineno: 95 -message: in pytest_runtest_call -path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py -lineno: 70 -message: in unraisable_exception_runtest_hook -path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py -lineno: 846 -message: in pytest_runtest_call -path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py -lineno: 829 -message: in _runtest_for -path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py -lineno: 880 -message: RuntimeError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -def test_stop_iteration_direct(): - # Directly raise StopIteration exception -> raise StopIteration() -E StopIteration - -tests/test_math_utils.py:106: StopIteration - -The above exception was the direct cause of the following exception: - -cls = -func = . at 0x7f4940a9d4c0> -when = 'call' -reraise = (, ) - - @classmethod - def from_call( - cls, - func: Callable[[], TResult], - when: Literal["collect", "setup", "call", "teardown"], - reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, - ) -> CallInfo[TResult]: - """Call func, wrapping the result in a CallInfo. - - :param func: - The function to call. Called without arguments. - :type func: Callable[[], _pytest.runner.TResult] - :param when: - The phase in which the function is called. - :param reraise: - Exception or exceptions that shall propagate if raised by the - function, instead of being wrapped in the CallInfo. - """ - excinfo = None - start = timing.time() - precise_start = timing.perf_counter() - try: -> result: TResult | None = func() - -.pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py:341: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -.pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py:242: in - lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise -.pixi/envs/default/lib/python3.8/site-packages/pluggy/_hooks.py:513: in __call__ - return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) -.pixi/envs/default/lib/python3.8/site-packages/pluggy/_manager.py:120: in _hookexec - return self._inner_hookexec(hook_name, methods, kwargs, firstresult) -.pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py:92: in pytest_runtest_call - yield from thread_exception_runtest_hook() -.pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py:68: in thread_exception_runtest_hook - yield -.pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py:95: in pytest_runtest_call - yield from unraisable_exception_runtest_hook() -.pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py:70: in unraisable_exception_runtest_hook - yield -.pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py:846: in pytest_runtest_call - yield from self._runtest_for(item, "call") -.pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py:829: in _runtest_for - yield -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -self = _capture_fixture=None> -item = - - @hookimpl(wrapper=True) - def pytest_runtest_call(self, item: Item) -> Generator[None]: - with self.item_capture("call", item): -> return (yield) -E RuntimeError: generator raised StopIteration - -.pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py:880: RuntimeError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00026621692813932896 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_generator_exit_direct` - -                        
-                βŒ #35 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00014588807243853807 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00018529605586081743 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # Directly raise GeneratorExit exception -> raise GeneratorExit() -E GeneratorExit - -tests/test_math_utils.py:110: GeneratorExit -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0002024270361289382 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_malformed_code` - -                        
-                βŒ #36 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00013619102537631989 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00018457300029695034 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -failed -``` -                    
- -                    
-                    πŸ“Œ Crash - -                    ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py -lineno: 114 -message: File "", line 1 - def bad(: - ^ -SyntaxError: invalid syntax -``` -                    
- -                    
-                    πŸ“Œ Traceback - -                    ``` -path: tests/test_math_utils.py -lineno: 114 -message: SyntaxError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -def test_malformed_code(): - # SyntaxError when executing malformed Python code -> exec("def bad(:\n pass") -E File "", line 1 -E def bad(: -E ^ -E SyntaxError: invalid syntax - -tests/test_math_utils.py:114: SyntaxError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015295995399355888 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_sys_exit` - -                        
-                βŒ #37 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00013320893049240112 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00016039807815104723 -``` -                    
- -                    
-                    πŸ“Œ 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(): - # Simulate SystemExit via sys.exit -> sys.exit(1) -E SystemExit: 1 - -tests/test_math_utils.py:118: SystemExit -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00014405196998268366 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_broken_function` - -                        
-                βŒ #38 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012812705244868994 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015652598813176155 -``` -                    
- -                    
-                    πŸ“Œ 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: None -path: tests/test_math_utils.py -lineno: 123 -message: TypeError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -def test_broken_function(): - # Simulate broken function raising TypeError - def broken_func(*args, **kwargs): - raise TypeError("Broken function") -> broken_func() - -tests/test_math_utils.py:124: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -args = (), kwargs = {} - - def broken_func(*args, **kwargs): -> raise TypeError("Broken function") -E TypeError: Broken function - -tests/test_math_utils.py:123: TypeError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00014716293662786484 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_import_error` - -                        
-                βŒ #39 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00011993793305009604 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.000169450999237597 -``` -                    
- -                    
-                    πŸ“Œ 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(): -> raise ImportError("Simulated ImportError") -E ImportError: Simulated ImportError - -tests/test_math_utils.py:127: ImportError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001446940004825592 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_module_not_found_error` - -                        
-                βŒ #40 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012520607560873032 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0004987139254808426 -``` -                    
- -                    
-                    πŸ“Œ 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: None -path: .pixi/envs/default/lib/python3.8/importlib/__init__.py -lineno: 127 -message: in import_module -path: -lineno: 1014 -message: in _gcd_import -path: -lineno: 991 -message: in _find_and_load -path: -lineno: 973 -message: ModuleNotFoundError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -def test_module_not_found_error(): - # Raises ModuleNotFoundError (subclass of ImportError) for missing module -> importlib.import_module("non_existent_module_xyz") - -tests/test_math_utils.py:131: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ -.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -:1014: in _gcd_import - ??? -:991: in _find_and_load - ??? -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -name = 'non_existent_module_xyz' -import_ = - -> ??? -E ModuleNotFoundError: No module named 'non_existent_module_xyz' - -:973: ModuleNotFoundError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0002245450159534812 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- - -    
- -    
-    πŸ“ test_string_utils.py - -            
-        πŸ”§ Function: `test_uppercase_type_error` - -                        
-                βŒ #42 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00010859104804694653 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015282898675650358 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -failed -``` -                    
- -                    
-                    πŸ“Œ Crash - -                    ``` -path: /workspace/tligui_y/slic/functions/string_utils.py -lineno: 3 -message: TypeError: Input cannot be None -``` -                    
- -                    
-                    πŸ“Œ Traceback - -                    ``` -path: tests/test_string_utils.py -lineno: 14 -message: None -path: functions/string_utils.py -lineno: 3 -message: TypeError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -def test_uppercase_type_error(): - # TypeError when input is None (invalid input) -> uppercase(None) - -tests/test_string_utils.py:14: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - -s = None - - def uppercase(s): - if s is None: -> raise TypeError("Input cannot be None") -E TypeError: Input cannot be None - -functions/string_utils.py:3: TypeError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001718580024316907 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_unicode_decode_error` - -                        
-                βŒ #45 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00010385597124695778 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00014831800945103168 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -failed -``` -                    
- -                    
-                    πŸ“Œ Crash - -                    ``` -path: /workspace/tligui_y/slic/tests/test_string_utils.py -lineno: 26 -message: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte -``` -                    
- -                    
-                    πŸ“Œ Traceback - -                    ``` -path: tests/test_string_utils.py -lineno: 26 -message: UnicodeDecodeError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -def test_unicode_decode_error(): - # UnicodeDecodeError when decoding invalid byte sequence -> b'\xff'.decode('utf-8') -E UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte - -tests/test_string_utils.py:26: UnicodeDecodeError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00016877707093954086 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- -        
-        πŸ”§ Function: `test_unicode_decode_surrogateescape` - -                        
-                βŒ #46 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00012163503561168909 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00016275804955512285 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -failed -``` -                    
- -                    
-                    πŸ“Œ Crash - -                    ``` -path: /workspace/tligui_y/slic/tests/test_string_utils.py -lineno: 30 -message: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte -``` -                    
- -                    
-                    πŸ“Œ Traceback - -                    ``` -path: tests/test_string_utils.py -lineno: 30 -message: UnicodeDecodeError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -def test_unicode_decode_surrogateescape(): - # UnicodeDecodeError with strict error handler on invalid byte -> b"\x80".decode("utf-8", errors="strict") -E UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte - -tests/test_string_utils.py:30: UnicodeDecodeError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00014117208775132895 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- - -    
- - -
- -
-❌ Xfailed (2) - -    
-    πŸ“ test_math_utils.py - -            
-        πŸ”§ Function: `test_multiply_xfail` - -                        
-                βŒ #23 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00013423396740108728 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00028755597304552794 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -skipped -``` -                    
- -                    
-                    πŸ“Œ Crash - -                    ``` -path: /workspace/tligui_y/slic/tests/test_math_utils.py -lineno: 60 -message: assert 4 == 5 - + where 4 = multiply(2, 2) -``` -                    
- -                    
-                    πŸ“Œ Traceback - -                    ``` -path: tests/test_math_utils.py -lineno: 60 -message: AssertionError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -@pytest.mark.xfail(reason="Expected failure") - def test_multiply_xfail(): - # Expected fail test (xfail): incorrect expected multiply result -> assert multiply(2, 2) == 5 -E assert 4 == 5 -E + where 4 = multiply(2, 2) - -tests/test_math_utils.py:60: AssertionError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.00015552900731563568 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- - -    
- -    
-    πŸ“ test_string_utils.py - -            
-        πŸ”§ Function: `test_xfail_uppercase_digits` - -                        
-                βŒ #48 - -                 -### πŸ”§ Setup Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001152219483628869 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -### πŸ”§ Call Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0006349110044538975 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -skipped -``` -                    
- -                    
-                    πŸ“Œ Crash - -                    ``` -path: /workspace/tligui_y/slic/tests/test_string_utils.py -lineno: 39 -message: AssertionError: assert 'ABC123' == 'ABC1234' + -
+ πŸ“ test_io_utils.py - - ABC1234 - ? - - + ABC123 -``` -                    
- -                    
-                    πŸ“Œ Traceback - -                    ``` -path: tests/test_string_utils.py -lineno: 39 -message: AssertionError -``` -                    
- -                    
-                    πŸ“Œ Longrepr - -                    ``` -@pytest.mark.xfail(reason="Expected failure: uppercase does not handle digits") - def test_xfail_uppercase_digits(): - # Expected fail test because uppercase won't change digits -> assert uppercase("abc123") == "ABC1234" -E AssertionError: assert 'ABC123' == 'ABC1234' -E -E - ABC1234 -E ? - -E + ABC123 - -tests/test_string_utils.py:39: AssertionError -``` -                    
- - -### πŸ”§ Teardown Phase - -                    
-                    πŸ“Œ Duration - -                    ``` -0.0001532569294795394 -``` -                    
- -                    
-                    πŸ“Œ Outcome - -                    ``` -passed -``` -                    
- - -                
- - -        
- - -    
- - + -
+ πŸ”§ Function: `test_read_file` + + -
+ βœ… #1 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.003369663027115166 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0004378430312499404 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00027032499201595783 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_write_file` + + -
+ βœ… #2 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0005030790343880653 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00029212504159659147 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015221396461129189 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_write_file_readonly` + + -
+ βœ… #9 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0006428740452975035 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.002386757987551391 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014373299200087786 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+
+ -
+ πŸ“ test_math_utils.py + + -
+ πŸ”§ Function: `test_addition_pass` + + -
+ βœ… #13 parameters: [2-2-4] + + - **Parameters:** `2-2-4` + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0003057289868593216 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015530793461948633 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013988406863063574 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+ -
+ βœ… #14 parameters: [1-5-6] + + - **Parameters:** `1-5-6` + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00026429397985339165 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015154003631323576 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001377889420837164 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+ -
+ βœ… #15 parameters: [3-4-7] + + - **Parameters:** `3-4-7` + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0002612241078168154 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014891393948346376 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013538298662751913 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+ -
+ βœ… #16 parameters: [3-5-8] + + - **Parameters:** `3-5-8` + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00023611809592694044 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014549994375556707 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013087107799947262 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+ -
+ βœ… #17 parameters: [3-6-9] + + - **Parameters:** `3-6-9` + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00024448696058243513 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014111201744526625 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013160007074475288 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_addition_pass_id` + + -
+ βœ… #18 parameters: [a=2,b=2,expected=4] + + - **Parameters:** `a=2,b=2,expected=4` + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00023956596851348877 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013690500054508448 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00012871506623923779 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+ -
+ βœ… #19 parameters: [a=1,b=5,expected=6] + + - **Parameters:** `a=1,b=5,expected=6` + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00024043594021350145 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001385919749736786 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013792794197797775 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+ -
+ βœ… #20 parameters: [a=3,b=4,expected=7] + + - **Parameters:** `a=3,b=4,expected=7` + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00024062104057520628 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014178699348121881 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013001600746065378 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+
+ -
+ πŸ“ test_string_utils.py + + -
+ πŸ”§ Function: `test_uppercase_normal` + + -
+ βœ… #41 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001457459293305874 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015196308959275484 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00010447204113006592 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_reverse_string` + + -
+ βœ… #43 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001345650525763631 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014425406698137522 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001138600055128336 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_warning_emit` + + -
+ βœ… #44 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00010744703467935324 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014388805720955133 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 9.619107004255056e-05 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_import_warning` + + -
+ βœ… #47 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00011642999015748501 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001367590157315135 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00010078900959342718 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_keyboard_interrupt_direct` + + -
+ βœ… #49 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00011670507956296206 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+
+-
+ ❌ Failed (31) + -
+ πŸ“ test_io_utils.py + + -
+ πŸ”§ Function: `test_cause_io_error` + + -
+ ❌ #3 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00012888398487120867 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001658101100474596 + ``` +
+ -
+ πŸ“Œ 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: None + path: functions/io_utils.py + lineno: 10 + message: OSError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + def test_cause_io_error(): + # Raises manual IOError to simulate IO failure + > cause_io_error() + + tests/test_io_utils.py:25: + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + + def cause_io_error(): + > raise IOError("Forced IO Error for testing") + E OSError: Forced IO Error for testing + + functions/io_utils.py:10: OSError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015495694242417812 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_file_not_found` + + -
+ ❌ #4 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00012714799959212542 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00021723902318626642 + ``` +
+ -
+ πŸ“Œ 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: None + path: functions/io_utils.py + lineno: 2 + message: FileNotFoundError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + def test_file_not_found(): + # Reading non-existing file raises FileNotFoundError + > read_file("nonexistent.file") + + tests/test_io_utils.py:29: + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + + path = 'nonexistent.file' + + def read_file(path): + > with open(path, "r", encoding="utf-8") as f: + E FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.file' + + functions/io_utils.py:2: FileNotFoundError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014435697812587023 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_permission_error` + + -
+ ❌ #5 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00022185302805155516 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001944419927895069 + ``` +
+ -
+ πŸ“Œ 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: None + path: functions/io_utils.py + lineno: 2 + message: in read_file + path: tests/test_io_utils.py + lineno: 34 + message: PermissionError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f75fdf3ad30> + + def test_permission_error(monkeypatch): + # Patch open to raise PermissionError simulating access denial + def raise_perm_error(*args, **kwargs): + raise PermissionError("Permission denied") + monkeypatch.setattr("builtins.open", raise_perm_error) + > read_file("anyfile.txt") + + tests/test_io_utils.py:36: + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + functions/io_utils.py:2: in read_file + with open(path, "r", encoding="utf-8") as f: + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + + args = ('anyfile.txt', 'r'), kwargs = {'encoding': 'utf-8'} + + def raise_perm_error(*args, **kwargs): + > raise PermissionError("Permission denied") + E PermissionError: Permission denied + + tests/test_io_utils.py:34: PermissionError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001858629984781146 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_mock_open_error` + + -
+ ❌ #6 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00020251201931387186 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0033534480025991797 + ``` +
+ -
+ πŸ“Œ 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: None + path: .pixi/envs/default/lib/python3.8/unittest/mock.py + lineno: 1081 + message: in __call__ + path: .pixi/envs/default/lib/python3.8/unittest/mock.py + lineno: 1085 + message: in _mock_call + path: .pixi/envs/default/lib/python3.8/unittest/mock.py + lineno: 1140 + message: OSError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f75fdf133d0> + + def test_mock_open_error(monkeypatch): + # Mock open() to raise IOError simulating read error + mocked_open = mock.mock_open() + mocked_open.side_effect = IOError("Mocked IOError") + monkeypatch.setattr("builtins.open", mocked_open) + > with open("file.txt", "r") as f: + + tests/test_io_utils.py:43: + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + .pixi/envs/default/lib/python3.8/unittest/mock.py:1081: in __call__ + return self._mock_call(*args, **kwargs) + .pixi/envs/default/lib/python3.8/unittest/mock.py:1085: in _mock_call + return self._execute_mock_call(*args, **kwargs) + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + + self = + args = ('file.txt', 'r'), kwargs = {}, effect = OSError('Mocked IOError') + + def _execute_mock_call(self, /, *args, **kwargs): + # separate from _increment_mock_call so that awaited functions are + # executed separately from their call, also AsyncMock overrides this method + + effect = self.side_effect + if effect is not None: + if _is_exception(effect): + > raise effect + E OSError: Mocked IOError + + .pixi/envs/default/lib/python3.8/unittest/mock.py:1140: OSError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00033829896710813046 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_file_handle_closed_error` + + -
+ ❌ #7 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014766701497137547 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00020596408285200596 + ``` +
+ -
+ πŸ“Œ 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(): + # Accessing closed file raises ValueError + f = io.StringIO("content") + f.close() + > f.read() + E ValueError: I/O operation on closed file + + tests/test_io_utils.py:50: ValueError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00020669889636337757 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_os_error` + + -
+ ❌ #8 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0002606810303404927 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0002036860678344965 + ``` +
+ -
+ πŸ“Œ 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: None + path: tests/test_io_utils.py + lineno: 55 + message: OSError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f75fb1afb50> + + def test_os_error(monkeypatch): + # Patch os.remove to raise OSError simulating filesystem error + def raise_os_error(path): + raise OSError("Simulated OSError") + monkeypatch.setattr("os.remove", raise_os_error) + > os.remove("file.txt") + + tests/test_io_utils.py:57: + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + + path = 'file.txt' + + def raise_os_error(path): + > raise OSError("Simulated OSError") + E OSError: Simulated OSError + + tests/test_io_utils.py:55: OSError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001825479557737708 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_file_not_found_error` + + -
+ ❌ #10 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00011538597755134106 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001986499410122633 + ``` +
+ -
+ πŸ“Œ 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(): + # 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 + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014717900194227695 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+
+ -
+ πŸ“ test_math_utils.py + + -
+ πŸ”§ Function: `test_broken` + + -
+ ❌ #11 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013043300714343786 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001558359945192933 + ``` +
+ -
+ πŸ“Œ 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(): + # 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 + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013754097744822502 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_call_missing_function` + + -
+ ❌ #12 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.000130928005091846 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015084398910403252 + ``` +
+ -
+ πŸ“Œ 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(): + # 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 + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001389659009873867 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_addition_fail` + + -
+ ❌ #21 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00010199297685176134 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0004883749643340707 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + failed + ``` +
+ -
+ πŸ“Œ Crash + + ``` + path: /workspace/tligui_y/slic/tests/test_math_utils.py + lineno: 51 + message: assert 4 == 5 + + where 4 = addition(2, 2) + ``` +
+ -
+ πŸ“Œ Traceback + + ``` + path: tests/test_math_utils.py + lineno: 51 + message: AssertionError + ``` +
+ -
+ πŸ“Œ 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 + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013862608466297388 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_division_zero` + + -
+ ❌ #22 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00011705700308084488 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00016285106539726257 + ``` +
+ -
+ πŸ“Œ 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: None + path: functions/math_utils.py + lineno: 5 + message: ZeroDivisionError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + def test_division_zero(): + # Will raise ZeroDivisionError if not handled in division + > division(1, 0) + + tests/test_math_utils.py:55: + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + + a = 1, b = 0 + + def division(a, b): + > return a / b + E ZeroDivisionError: division by zero + + functions/math_utils.py:5: ZeroDivisionError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013741105794906616 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_runtime_error` + + -
+ ❌ #24 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00011903105769306421 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015070592053234577 + ``` +
+ -
+ πŸ“Œ 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(): + # Test raises an uncaught RuntimeError + > raise RuntimeError("Forced runtime error") + E RuntimeError: Forced runtime error + + tests/test_math_utils.py:64: RuntimeError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014218303840607405 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_memory_error` + + -
+ ❌ #25 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00011854502372443676 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015072000678628683 + ``` +
+ -
+ πŸ“Œ 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(): + # 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 + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014770310372114182 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_timeout_error` + + -
+ ❌ #26 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00012445100583136082 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001496950862929225 + ``` +
+ -
+ πŸ“Œ 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(): + # Manually raise TimeoutError simulating timeout conditions + > raise TimeoutError("Simulated timeout error") + E TimeoutError: Simulated timeout error + + tests/test_math_utils.py:72: TimeoutError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001352420076727867 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_recursion_error` + + -
+ ❌ #27 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00012478604912757874 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0008256030268967152 + ``` +
+ -
+ πŸ“Œ 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: None + path: tests/test_math_utils.py + lineno: 77 + message: in recursive + path: tests/test_math_utils.py + lineno: 77 + message: in recursive + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + def test_recursion_error(): + # Infinite recursion triggers RecursionError + def recursive(): + return recursive() + > recursive() + + tests/test_math_utils.py:78: + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + tests/test_math_utils.py:77: in recursive + return recursive() + tests/test_math_utils.py:77: in recursive + return recursive() + E RecursionError: maximum recursion depth exceeded + !!! Recursion detected (same locals & position) + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014858401846140623 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_floating_point_error` + + -
+ ❌ #28 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013639195822179317 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015275808982551098 + ``` +
+ -
+ πŸ“Œ 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(): + # Manually raise FloatingPointError + > raise FloatingPointError("Simulated floating point error") + E FloatingPointError: Simulated floating point error + + tests/test_math_utils.py:82: FloatingPointError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015308603178709745 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_floating_point_overflow` + + -
+ ❌ #29 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00012607197277247906 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00016459205653518438 + ``` +
+ -
+ πŸ“Œ 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(): + # Exponential overflow triggers OverflowError + > math.exp(1000) + E OverflowError: math range error + + tests/test_math_utils.py:86: OverflowError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014485593419522047 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_value_error` + + -
+ ❌ #30 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00012342003174126148 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00016150495503097773 + ``` +
+ -
+ πŸ“Œ 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(): + # ValueError on invalid integer conversion + > int("invalid") + E ValueError: invalid literal for int() with base 10: 'invalid' + + tests/test_math_utils.py:90: ValueError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013834796845912933 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_wrong_argument_error` + + -
+ ❌ #31 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00012425798922777176 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001536230556666851 + ``` +
+ -
+ πŸ“Œ 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(): + # TypeError when passing wrong argument type to sum + > sum(5) + E TypeError: 'int' object is not iterable + + tests/test_math_utils.py:94: TypeError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014815106987953186 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_unhandled_exception` + + -
+ ❌ #32 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013999396469444036 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015200104098767042 + ``` +
+ -
+ πŸ“Œ 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(): + # Raises generic unhandled Exception + > raise Exception("Generic unhandled exception") + E Exception: Generic unhandled exception + + tests/test_math_utils.py:98: Exception + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013775902334600687 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_custom_error` + + -
+ ❌ #33 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00011778890620917082 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00016327202320098877 + ``` +
+ -
+ πŸ“Œ 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(): + # 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 + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013874494470655918 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_stop_iteration_direct` + + -
+ ❌ #34 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00011970207560807467 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015246006660163403 + ``` +
+ -
+ πŸ“Œ 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: None + path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py + lineno: 242 + message: in + path: .pixi/envs/default/lib/python3.8/site-packages/pluggy/_hooks.py + lineno: 513 + message: in __call__ + path: .pixi/envs/default/lib/python3.8/site-packages/pluggy/_manager.py + lineno: 120 + message: in _hookexec + path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py + lineno: 92 + message: in pytest_runtest_call + path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py + lineno: 68 + message: in thread_exception_runtest_hook + path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py + lineno: 95 + message: in pytest_runtest_call + path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py + lineno: 70 + message: in unraisable_exception_runtest_hook + path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py + lineno: 846 + message: in pytest_runtest_call + path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py + lineno: 829 + message: in _runtest_for + path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py + lineno: 880 + message: RuntimeError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + def test_stop_iteration_direct(): + # Directly raise StopIteration exception + > raise StopIteration() + E StopIteration + + tests/test_math_utils.py:106: StopIteration + + The above exception was the direct cause of the following exception: + + cls = + func = . at 0x7f75fae984c0> + when = 'call' + reraise = (, ) + + @classmethod + def from_call( + cls, + func: Callable[[], TResult], + when: Literal["collect", "setup", "call", "teardown"], + reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, + ) -> CallInfo[TResult]: + """Call func, wrapping the result in a CallInfo. + + :param func: + The function to call. Called without arguments. + :type func: Callable[[], _pytest.runner.TResult] + :param when: + The phase in which the function is called. + :param reraise: + Exception or exceptions that shall propagate if raised by the + function, instead of being wrapped in the CallInfo. + """ + excinfo = None + start = timing.time() + precise_start = timing.perf_counter() + try: + > result: TResult | None = func() + + .pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py:341: + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + .pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py:242: in + lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise + .pixi/envs/default/lib/python3.8/site-packages/pluggy/_hooks.py:513: in __call__ + return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) + .pixi/envs/default/lib/python3.8/site-packages/pluggy/_manager.py:120: in _hookexec + return self._inner_hookexec(hook_name, methods, kwargs, firstresult) + .pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py:92: in pytest_runtest_call + yield from thread_exception_runtest_hook() + .pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexception.py:68: in thread_exception_runtest_hook + yield + .pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py:95: in pytest_runtest_call + yield from unraisable_exception_runtest_hook() + .pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisableexception.py:70: in unraisable_exception_runtest_hook + yield + .pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py:846: in pytest_runtest_call + yield from self._runtest_for(item, "call") + .pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.py:829: in _runtest_for + yield + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + + self = _capture_fixture=None> + item = + + @hookimpl(wrapper=True) + def pytest_runtest_call(self, item: Item) -> Generator[None]: + with self.item_capture("call", item): + > return (yield) + E RuntimeError: generator raised StopIteration + + .pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py:880: RuntimeError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00028590194415301085 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_generator_exit_direct` + + -
+ ❌ #35 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014338793698698282 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00017933291383087635 + ``` +
+ -
+ πŸ“Œ 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(): + # Directly raise GeneratorExit exception + > raise GeneratorExit() + E GeneratorExit + + tests/test_math_utils.py:110: GeneratorExit + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00021471804939210415 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_malformed_code` + + -
+ ❌ #36 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013299193233251572 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001776090357452631 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + failed + ``` +
+ -
+ πŸ“Œ Crash + + ``` + path: /workspace/tligui_y/slic/tests/test_math_utils.py + lineno: 114 + message: File "", line 1 + def bad(: + ^ + SyntaxError: invalid syntax + ``` +
+ -
+ πŸ“Œ Traceback + + ``` + path: tests/test_math_utils.py + lineno: 114 + message: SyntaxError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + def test_malformed_code(): + # SyntaxError when executing malformed Python code + > exec("def bad(:\n pass") + E File "", line 1 + E def bad(: + E ^ + E SyntaxError: invalid syntax + + tests/test_math_utils.py:114: SyntaxError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00017366802785545588 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_sys_exit` + + -
+ ❌ #37 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00012981495819985867 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015939492732286453 + ``` +
+ -
+ πŸ“Œ 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(): + # Simulate SystemExit via sys.exit + > sys.exit(1) + E SystemExit: 1 + + tests/test_math_utils.py:118: SystemExit + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001513379393145442 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_broken_function` + + -
+ ❌ #38 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001414640573784709 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00016761594451963902 + ``` +
+ -
+ πŸ“Œ 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: None + path: tests/test_math_utils.py + lineno: 123 + message: TypeError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + def test_broken_function(): + # Simulate broken function raising TypeError + def broken_func(*args, **kwargs): + raise TypeError("Broken function") + > broken_func() + + tests/test_math_utils.py:124: + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + + args = (), kwargs = {} + + def broken_func(*args, **kwargs): + > raise TypeError("Broken function") + E TypeError: Broken function + + tests/test_math_utils.py:123: TypeError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015442504081875086 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_import_error` + + -
+ ❌ #39 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00012189208064228296 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00016699591651558876 + ``` +
+ -
+ πŸ“Œ 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(): + > raise ImportError("Simulated ImportError") + E ImportError: Simulated ImportError + + tests/test_math_utils.py:127: ImportError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014639203436672688 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_module_not_found_error` + + -
+ ❌ #40 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00012237601913511753 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0004924499662593007 + ``` +
+ -
+ πŸ“Œ 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: None + path: .pixi/envs/default/lib/python3.8/importlib/__init__.py + lineno: 127 + message: in import_module + path: + lineno: 1014 + message: in _gcd_import + path: + lineno: 991 + message: in _find_and_load + path: + lineno: 973 + message: ModuleNotFoundError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + def test_module_not_found_error(): + # Raises ModuleNotFoundError (subclass of ImportError) for missing module + > importlib.import_module("non_existent_module_xyz") + + tests/test_math_utils.py:131: + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module + return _bootstrap._gcd_import(name[level:], package, level) + :1014: in _gcd_import + ??? + :991: in _find_and_load + ??? + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + + name = 'non_existent_module_xyz' + import_ = + + > ??? + E ModuleNotFoundError: No module named 'non_existent_module_xyz' + + :973: ModuleNotFoundError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00016564910765737295 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+
+ -
+ πŸ“ test_string_utils.py + + -
+ πŸ”§ Function: `test_uppercase_type_error` + + -
+ ❌ #42 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00010726507753133774 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015546497888863087 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + failed + ``` +
+ -
+ πŸ“Œ Crash + + ``` + path: /workspace/tligui_y/slic/functions/string_utils.py + lineno: 3 + message: TypeError: Input cannot be None + ``` +
+ -
+ πŸ“Œ Traceback + + ``` + path: tests/test_string_utils.py + lineno: 14 + message: None + path: functions/string_utils.py + lineno: 3 + message: TypeError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + def test_uppercase_type_error(): + # TypeError when input is None (invalid input) + > uppercase(None) + + tests/test_string_utils.py:14: + _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + + s = None + + def uppercase(s): + if s is None: + > raise TypeError("Input cannot be None") + E TypeError: Input cannot be None + + functions/string_utils.py:3: TypeError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00014460703823715448 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_unicode_decode_error` + + -
+ ❌ #45 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00011107593309134245 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015106098726391792 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + failed + ``` +
+ -
+ πŸ“Œ Crash + + ``` + path: /workspace/tligui_y/slic/tests/test_string_utils.py + lineno: 26 + message: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte + ``` +
+ -
+ πŸ“Œ Traceback + + ``` + path: tests/test_string_utils.py + lineno: 26 + message: UnicodeDecodeError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + def test_unicode_decode_error(): + # UnicodeDecodeError when decoding invalid byte sequence + > b'\xff'.decode('utf-8') + E UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte + + tests/test_string_utils.py:26: UnicodeDecodeError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013883400242775679 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+ -
+ πŸ”§ Function: `test_unicode_decode_surrogateescape` + + -
+ ❌ #46 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00011739390902221203 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001548220170661807 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + failed + ``` +
+ -
+ πŸ“Œ Crash + + ``` + path: /workspace/tligui_y/slic/tests/test_string_utils.py + lineno: 30 + message: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte + ``` +
+ -
+ πŸ“Œ Traceback + + ``` + path: tests/test_string_utils.py + lineno: 30 + message: UnicodeDecodeError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + def test_unicode_decode_surrogateescape(): + # UnicodeDecodeError with strict error handler on invalid byte + > b"\x80".decode("utf-8", errors="strict") + E UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte + + tests/test_string_utils.py:30: UnicodeDecodeError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015292793978005648 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+
+
+-
+ ❌ Xfailed (2) + + -
+ πŸ“ test_math_utils.py + + -
+ πŸ”§ Function: `test_multiply_xfail` + + -
+ ❌ #23 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0001368609955534339 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00030864099971950054 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + skipped + ``` +
+ -
+ πŸ“Œ Crash + + ``` + path: /workspace/tligui_y/slic/tests/test_math_utils.py + lineno: 60 + message: assert 4 == 5 + + where 4 = multiply(2, 2) + ``` +
+ -
+ πŸ“Œ Traceback + + ``` + path: tests/test_math_utils.py + lineno: 60 + message: AssertionError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + @pytest.mark.xfail(reason="Expected failure") + def test_multiply_xfail(): + # Expected fail test (xfail): incorrect expected multiply result + > assert multiply(2, 2) == 5 + E assert 4 == 5 + E + where 4 = multiply(2, 2) + + tests/test_math_utils.py:60: AssertionError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00015341397374868393 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+
+ -
+ πŸ“ test_string_utils.py + + -
+ πŸ”§ Function: `test_xfail_uppercase_digits` + + -
+ ❌ #48 + + ### πŸ”§ Setup Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00012193899601697922 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+ + ### πŸ”§ Call Phase + + -
+ πŸ“Œ Duration + + ``` + 0.0006399459671229124 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + skipped + ``` +
+ -
+ πŸ“Œ Crash + + ``` + path: /workspace/tligui_y/slic/tests/test_string_utils.py + lineno: 39 + message: AssertionError: assert 'ABC123' == 'ABC1234' + + - ABC1234 + ? - + + ABC123 + ``` +
+ -
+ πŸ“Œ Traceback + + ``` + path: tests/test_string_utils.py + lineno: 39 + message: AssertionError + ``` +
+ -
+ πŸ“Œ Longrepr + + ``` + @pytest.mark.xfail(reason="Expected failure: uppercase does not handle digits") + def test_xfail_uppercase_digits(): + # Expected fail test because uppercase won't change digits + > assert uppercase("abc123") == "ABC1234" + E AssertionError: assert 'ABC123' == 'ABC1234' + E + E - ABC1234 + E ? - + E + ABC123 + + tests/test_string_utils.py:39: AssertionError + ``` +
+ + ### πŸ”§ Teardown Phase + + -
+ πŸ“Œ Duration + + ``` + 0.00013744900934398174 + ``` +
+ -
+ πŸ“Œ Outcome + + ``` + passed + ``` +
+
+
+
+
## πŸ“š Collected files -    
-    βœ… (1 tests) - -            
-        βœ… - -        - **Outcome:** `passed` -- **Details:** -``` -result: -nodeid: . -type: Dir - -``` - -        
- - -    
- -    
-    βœ… ci-reports (12 tests) - -            
-        βœ… ci-reports - -        - **Outcome:** `passed` -- **Details:** -``` -result: -nodeid: ci-reports/allure -type: Dir -nodeid: ci-reports/coverage -type: Dir -nodeid: ci-reports/markdown -type: Dir - -``` - -        
- -        
-        βœ… ci-reports/allure - -        - **Outcome:** `passed` -- **Details:** -``` -result: -nodeid: ci-reports/allure/data -type: Dir -nodeid: ci-reports/allure/export -type: Dir -nodeid: ci-reports/allure/history -type: Dir -nodeid: ci-reports/allure/plugin -type: Dir -nodeid: ci-reports/allure/widgets -type: Dir - -``` - -        
- -        
-        βœ… ci-reports/allure/data - -        - **Outcome:** `passed` -- **Details:** -``` -result: - - -``` - -        
- -        
-        βœ… ci-reports/allure/export - -        - **Outcome:** `passed` -- **Details:** -``` -result: - - -``` - -        
- -        
-        βœ… ci-reports/allure/history - -        - **Outcome:** `passed` -- **Details:** -``` -result: - - -``` - -        
- -        
-        βœ… ci-reports/allure/plugin - -        - **Outcome:** `passed` -- **Details:** -``` -result: -nodeid: ci-reports/allure/plugin/behaviors -type: Dir -nodeid: ci-reports/allure/plugin/packages -type: Dir -nodeid: ci-reports/allure/plugin/screen-diff -type: Dir - -``` - -        
- -        
-        βœ… ci-reports/allure/plugin/behaviors - -        - **Outcome:** `passed` -- **Details:** -``` -result: - - -``` - -        
- -        
-        βœ… ci-reports/allure/plugin/packages - -        - **Outcome:** `passed` -- **Details:** -``` -result: - - -``` - -        
- -        
-        βœ… ci-reports/allure/plugin/screen-diff - -        - **Outcome:** `passed` -- **Details:** -``` -result: - - -``` - -        
- -        
-        βœ… ci-reports/allure/widgets - -        - **Outcome:** `passed` -- **Details:** -``` -result: - - -``` - -        
- -        
-        βœ… ci-reports/coverage - -        - **Outcome:** `passed` -- **Details:** -``` -result: - - -``` - -        
- -        
-        βœ… ci-reports/markdown - -        - **Outcome:** `passed` -- **Details:** -``` -result: - - -``` - -        
- - -    
- -    
-    βœ… functions (1 tests) - -            
-        βœ… functions - -        - **Outcome:** `passed` -- **Details:** -``` -result: - - -``` - -        
- - -    
- -    
-    βŒ tests (6 tests) - -            
-        βœ… tests - -        - **Outcome:** `passed` -- **Details:** -``` -result: -nodeid: tests/test_broken_fct.py -type: Module -nodeid: tests/test_collector_error.py -type: Module -nodeid: tests/test_io_utils.py -type: Module -nodeid: tests/test_math_utils.py -type: Module -nodeid: tests/test_string_utils.py -type: Module - -``` - -        
- -        
-        βŒ tests/test_broken_fct.py - -        - **Outcome:** `failed` -- **Details:** -``` -result: - - -longrepr: -.pixi/envs/default/lib/python3.8/site-packages/_pytest/python.py:493: in importtestmodule - mod = import_path( -.pixi/envs/default/lib/python3.8/site-packages/_pytest/pathlib.py:587: in import_path - importlib.import_module(module_name) -.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -:1014: in _gcd_import - ??? -:991: in _find_and_load - ??? -:975: in _find_and_load_unlocked - ??? -:671: in _load_unlocked - ??? -.pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:175: in exec_module - source_stat, co = _rewrite_test(fn, self.config) -.pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:355: in _rewrite_test - tree = ast.parse(source, filename=strfn) -.pixi/envs/default/lib/python3.8/ast.py:47: in parse - return compile(source, filename, mode, flags, -E File "/workspace/tligui_y/slic/tests/test_broken_fct.py", line 8 -E def test_valid_2(): -E ^ -E SyntaxError: invalid syntax - -``` - -        
- -        
-        βŒ tests/test_collector_error.py - -        - **Outcome:** `failed` -- **Details:** -``` -result: - - -longrepr: -ImportError while importing test module '/workspace/tligui_y/slic/tests/test_collector_error.py'. -Hint: make sure your test modules/packages have valid Python names. -Traceback: -.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module - return _bootstrap._gcd_import(name[level:], package, level) -tests/test_collector_error.py:1: in - from no_existing_module.math_utils import * -E ModuleNotFoundError: No module named 'no_existing_module' - -``` - -        
- -        
-        βœ… tests/test_io_utils.py - -        - **Outcome:** `passed` -- **Details:** -``` -result: -nodeid: tests/test_io_utils.py::test_read_file -type: Function -lineno: 9 -nodeid: tests/test_io_utils.py::test_write_file -type: Function -lineno: 16 -nodeid: tests/test_io_utils.py::test_cause_io_error -type: Function -lineno: 22 -nodeid: tests/test_io_utils.py::test_file_not_found -type: Function -lineno: 26 -nodeid: tests/test_io_utils.py::test_permission_error -type: Function -lineno: 30 -nodeid: tests/test_io_utils.py::test_mock_open_error -type: Function -lineno: 37 -nodeid: tests/test_io_utils.py::test_file_handle_closed_error -type: Function -lineno: 45 -nodeid: tests/test_io_utils.py::test_os_error -type: Function -lineno: 51 -nodeid: tests/test_io_utils.py::test_write_file_readonly -type: Function -lineno: 58 -nodeid: tests/test_io_utils.py::test_file_not_found_error -type: Function -lineno: 66 - -``` - -        
- -        
-        βœ… tests/test_math_utils.py - -        - **Outcome:** `passed` -- **Details:** -``` -result: -nodeid: tests/test_math_utils.py::test_broken -type: Function -lineno: 13 -nodeid: tests/test_math_utils.py::test_call_missing_function -type: Function -lineno: 17 -nodeid: tests/test_math_utils.py::test_addition_pass[2-2-4] -type: Function -lineno: 22 -nodeid: tests/test_math_utils.py::test_addition_pass[1-5-6] -type: Function -lineno: 22 -nodeid: tests/test_math_utils.py::test_addition_pass[3-4-7] -type: Function -lineno: 22 -nodeid: tests/test_math_utils.py::test_addition_pass[3-5-8] -type: Function -lineno: 22 -nodeid: tests/test_math_utils.py::test_addition_pass[3-6-9] -type: Function -lineno: 22 -nodeid: tests/test_math_utils.py::test_addition_pass_id[a=2,b=2,expected=4] -type: Function -lineno: 36 -nodeid: tests/test_math_utils.py::test_addition_pass_id[a=1,b=5,expected=6] -type: Function -lineno: 36 -nodeid: tests/test_math_utils.py::test_addition_pass_id[a=3,b=4,expected=7] -type: Function -lineno: 36 -nodeid: tests/test_math_utils.py::test_addition_fail -type: Function -lineno: 48 -nodeid: tests/test_math_utils.py::test_division_zero -type: Function -lineno: 52 -nodeid: tests/test_math_utils.py::test_multiply_xfail -type: Function -lineno: 56 -nodeid: tests/test_math_utils.py::test_runtime_error -type: Function -lineno: 61 -nodeid: tests/test_math_utils.py::test_memory_error -type: Function -lineno: 65 -nodeid: tests/test_math_utils.py::test_timeout_error -type: Function -lineno: 69 -nodeid: tests/test_math_utils.py::test_recursion_error -type: Function -lineno: 73 -nodeid: tests/test_math_utils.py::test_floating_point_error -type: Function -lineno: 79 -nodeid: tests/test_math_utils.py::test_floating_point_overflow -type: Function -lineno: 83 -nodeid: tests/test_math_utils.py::test_value_error -type: Function -lineno: 87 -nodeid: tests/test_math_utils.py::test_wrong_argument_error -type: Function -lineno: 91 -nodeid: tests/test_math_utils.py::test_unhandled_exception -type: Function -lineno: 95 -nodeid: tests/test_math_utils.py::test_custom_error -type: Function -lineno: 99 -nodeid: tests/test_math_utils.py::test_stop_iteration_direct -type: Function -lineno: 103 -nodeid: tests/test_math_utils.py::test_generator_exit_direct -type: Function -lineno: 107 -nodeid: tests/test_math_utils.py::test_malformed_code -type: Function -lineno: 111 -nodeid: tests/test_math_utils.py::test_sys_exit -type: Function -lineno: 115 -nodeid: tests/test_math_utils.py::test_broken_function -type: Function -lineno: 119 -nodeid: tests/test_math_utils.py::test_import_error -type: Function -lineno: 125 -nodeid: tests/test_math_utils.py::test_module_not_found_error -type: Function -lineno: 128 - -``` - -        
- -        
-        βœ… tests/test_string_utils.py - -        - **Outcome:** `passed` -- **Details:** -``` -result: -nodeid: tests/test_string_utils.py::test_uppercase_normal -type: Function -lineno: 7 -nodeid: tests/test_string_utils.py::test_uppercase_type_error -type: Function -lineno: 11 -nodeid: tests/test_string_utils.py::test_reverse_string -type: Function -lineno: 15 -nodeid: tests/test_string_utils.py::test_warning_emit -type: Function -lineno: 19 -nodeid: tests/test_string_utils.py::test_unicode_decode_error -type: Function -lineno: 23 -nodeid: tests/test_string_utils.py::test_unicode_decode_surrogateescape -type: Function -lineno: 27 -nodeid: tests/test_string_utils.py::test_import_warning -type: Function -lineno: 31 -nodeid: tests/test_string_utils.py::test_xfail_uppercase_digits -type: Function -lineno: 35 -nodeid: tests/test_string_utils.py::test_keyboard_interrupt_direct -type: Function -lineno: 40 - -``` - -        
- - -    
- -    
-    βœ… . (1 tests) - -            
-        βœ… . - -        - **Outcome:** `passed` -- **Details:** -``` -result: -nodeid: ci-reports -type: Dir -nodeid: functions -type: Package -nodeid: tests -type: Dir - -``` - -        
- - -    
- + -
+ βœ… (1 tests) + + -
+ βœ… + + - **Outcome:** `passed` + - **Details:** + ``` + result: + nodeid: . + type: Dir + + ``` +
+
+ -
+ βœ… ci-reports (12 tests) + + -
+ βœ… ci-reports + + - **Outcome:** `passed` + - **Details:** + ``` + result: + nodeid: ci-reports/allure + type: Dir + nodeid: ci-reports/coverage + type: Dir + nodeid: ci-reports/markdown + type: Dir + + ``` +
+ -
+ βœ… ci-reports/allure + + - **Outcome:** `passed` + - **Details:** + ``` + result: + nodeid: ci-reports/allure/data + type: Dir + nodeid: ci-reports/allure/export + type: Dir + nodeid: ci-reports/allure/history + type: Dir + nodeid: ci-reports/allure/plugin + type: Dir + nodeid: ci-reports/allure/widgets + type: Dir + + ``` +
+ -
+ βœ… ci-reports/allure/data + + - **Outcome:** `passed` + - **Details:** + ``` + result: + + + ``` +
+ -
+ βœ… ci-reports/allure/export + + - **Outcome:** `passed` + - **Details:** + ``` + result: + + + ``` +
+ -
+ βœ… ci-reports/allure/history + + - **Outcome:** `passed` + - **Details:** + ``` + result: + + + ``` +
+ -
+ βœ… ci-reports/allure/plugin + + - **Outcome:** `passed` + - **Details:** + ``` + result: + nodeid: ci-reports/allure/plugin/behaviors + type: Dir + nodeid: ci-reports/allure/plugin/packages + type: Dir + nodeid: ci-reports/allure/plugin/screen-diff + type: Dir + + ``` +
+ -
+ βœ… ci-reports/allure/plugin/behaviors + + - **Outcome:** `passed` + - **Details:** + ``` + result: + + + ``` +
+ -
+ βœ… ci-reports/allure/plugin/packages + + - **Outcome:** `passed` + - **Details:** + ``` + result: + + + ``` +
+ -
+ βœ… ci-reports/allure/plugin/screen-diff + + - **Outcome:** `passed` + - **Details:** + ``` + result: + + + ``` +
+ -
+ βœ… ci-reports/allure/widgets + + - **Outcome:** `passed` + - **Details:** + ``` + result: + + + ``` +
+ -
+ βœ… ci-reports/coverage + + - **Outcome:** `passed` + - **Details:** + ``` + result: + + + ``` +
+ -
+ βœ… ci-reports/markdown + + - **Outcome:** `passed` + - **Details:** + ``` + result: + + + ``` +
+
+ -
+ βœ… functions (1 tests) + + -
+ βœ… functions + + - **Outcome:** `passed` + - **Details:** + ``` + result: + + + ``` +
+
+ -
+ ❌ tests (6 tests) + + -
+ βœ… tests + + - **Outcome:** `passed` + - **Details:** + ``` + result: + nodeid: tests/test_broken_fct.py + type: Module + nodeid: tests/test_collector_error.py + type: Module + nodeid: tests/test_io_utils.py + type: Module + nodeid: tests/test_math_utils.py + type: Module + nodeid: tests/test_string_utils.py + type: Module + + ``` +
+ -
+ ❌ tests/test_broken_fct.py + + - **Outcome:** `failed` + - **Details:** + ``` + result: + + + longrepr: + .pixi/envs/default/lib/python3.8/site-packages/_pytest/python.py:493: in importtestmodule + mod = import_path( + .pixi/envs/default/lib/python3.8/site-packages/_pytest/pathlib.py:587: in import_path + importlib.import_module(module_name) + .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module + return _bootstrap._gcd_import(name[level:], package, level) + :1014: in _gcd_import + ??? + :991: in _find_and_load + ??? + :975: in _find_and_load_unlocked + ??? + :671: in _load_unlocked + ??? + .pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:175: in exec_module + source_stat, co = _rewrite_test(fn, self.config) + .pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:355: in _rewrite_test + tree = ast.parse(source, filename=strfn) + .pixi/envs/default/lib/python3.8/ast.py:47: in parse + return compile(source, filename, mode, flags, + E File "/workspace/tligui_y/slic/tests/test_broken_fct.py", line 8 + E def test_valid_2(): + E ^ + E SyntaxError: invalid syntax + + ``` +
+ -
+ ❌ tests/test_collector_error.py + + - **Outcome:** `failed` + - **Details:** + ``` + result: + + + longrepr: + ImportError while importing test module '/workspace/tligui_y/slic/tests/test_collector_error.py'. + Hint: make sure your test modules/packages have valid Python names. + Traceback: + .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module + return _bootstrap._gcd_import(name[level:], package, level) + tests/test_collector_error.py:1: in + from no_existing_module.math_utils import * + E ModuleNotFoundError: No module named 'no_existing_module' + + ``` +
+ -
+ βœ… tests/test_io_utils.py + + - **Outcome:** `passed` + - **Details:** + ``` + result: + nodeid: tests/test_io_utils.py::test_read_file + type: Function + lineno: 9 + nodeid: tests/test_io_utils.py::test_write_file + type: Function + lineno: 16 + nodeid: tests/test_io_utils.py::test_cause_io_error + type: Function + lineno: 22 + nodeid: tests/test_io_utils.py::test_file_not_found + type: Function + lineno: 26 + nodeid: tests/test_io_utils.py::test_permission_error + type: Function + lineno: 30 + nodeid: tests/test_io_utils.py::test_mock_open_error + type: Function + lineno: 37 + nodeid: tests/test_io_utils.py::test_file_handle_closed_error + type: Function + lineno: 45 + nodeid: tests/test_io_utils.py::test_os_error + type: Function + lineno: 51 + nodeid: tests/test_io_utils.py::test_write_file_readonly + type: Function + lineno: 58 + nodeid: tests/test_io_utils.py::test_file_not_found_error + type: Function + lineno: 66 + + ``` +
+ -
+ βœ… tests/test_math_utils.py + + - **Outcome:** `passed` + - **Details:** + ``` + result: + nodeid: tests/test_math_utils.py::test_broken + type: Function + lineno: 13 + nodeid: tests/test_math_utils.py::test_call_missing_function + type: Function + lineno: 17 + nodeid: tests/test_math_utils.py::test_addition_pass[2-2-4] + type: Function + lineno: 22 + nodeid: tests/test_math_utils.py::test_addition_pass[1-5-6] + type: Function + lineno: 22 + nodeid: tests/test_math_utils.py::test_addition_pass[3-4-7] + type: Function + lineno: 22 + nodeid: tests/test_math_utils.py::test_addition_pass[3-5-8] + type: Function + lineno: 22 + nodeid: tests/test_math_utils.py::test_addition_pass[3-6-9] + type: Function + lineno: 22 + nodeid: tests/test_math_utils.py::test_addition_pass_id[a=2,b=2,expected=4] + type: Function + lineno: 36 + nodeid: tests/test_math_utils.py::test_addition_pass_id[a=1,b=5,expected=6] + type: Function + lineno: 36 + nodeid: tests/test_math_utils.py::test_addition_pass_id[a=3,b=4,expected=7] + type: Function + lineno: 36 + nodeid: tests/test_math_utils.py::test_addition_fail + type: Function + lineno: 48 + nodeid: tests/test_math_utils.py::test_division_zero + type: Function + lineno: 52 + nodeid: tests/test_math_utils.py::test_multiply_xfail + type: Function + lineno: 56 + nodeid: tests/test_math_utils.py::test_runtime_error + type: Function + lineno: 61 + nodeid: tests/test_math_utils.py::test_memory_error + type: Function + lineno: 65 + nodeid: tests/test_math_utils.py::test_timeout_error + type: Function + lineno: 69 + nodeid: tests/test_math_utils.py::test_recursion_error + type: Function + lineno: 73 + nodeid: tests/test_math_utils.py::test_floating_point_error + type: Function + lineno: 79 + nodeid: tests/test_math_utils.py::test_floating_point_overflow + type: Function + lineno: 83 + nodeid: tests/test_math_utils.py::test_value_error + type: Function + lineno: 87 + nodeid: tests/test_math_utils.py::test_wrong_argument_error + type: Function + lineno: 91 + nodeid: tests/test_math_utils.py::test_unhandled_exception + type: Function + lineno: 95 + nodeid: tests/test_math_utils.py::test_custom_error + type: Function + lineno: 99 + nodeid: tests/test_math_utils.py::test_stop_iteration_direct + type: Function + lineno: 103 + nodeid: tests/test_math_utils.py::test_generator_exit_direct + type: Function + lineno: 107 + nodeid: tests/test_math_utils.py::test_malformed_code + type: Function + lineno: 111 + nodeid: tests/test_math_utils.py::test_sys_exit + type: Function + lineno: 115 + nodeid: tests/test_math_utils.py::test_broken_function + type: Function + lineno: 119 + nodeid: tests/test_math_utils.py::test_import_error + type: Function + lineno: 125 + nodeid: tests/test_math_utils.py::test_module_not_found_error + type: Function + lineno: 128 + + ``` +
+ -
+ βœ… tests/test_string_utils.py + + - **Outcome:** `passed` + - **Details:** + ``` + result: + nodeid: tests/test_string_utils.py::test_uppercase_normal + type: Function + lineno: 7 + nodeid: tests/test_string_utils.py::test_uppercase_type_error + type: Function + lineno: 11 + nodeid: tests/test_string_utils.py::test_reverse_string + type: Function + lineno: 15 + nodeid: tests/test_string_utils.py::test_warning_emit + type: Function + lineno: 19 + nodeid: tests/test_string_utils.py::test_unicode_decode_error + type: Function + lineno: 23 + nodeid: tests/test_string_utils.py::test_unicode_decode_surrogateescape + type: Function + lineno: 27 + nodeid: tests/test_string_utils.py::test_import_warning + type: Function + lineno: 31 + nodeid: tests/test_string_utils.py::test_xfail_uppercase_digits + type: Function + lineno: 35 + nodeid: tests/test_string_utils.py::test_keyboard_interrupt_direct + type: Function + lineno: 40 + + ``` +
+
+ -
+ βœ… . (1 tests) + + -
+ βœ… . + + - **Outcome:** `passed` + - **Details:** + ``` + result: + nodeid: ci-reports + type: Dir + nodeid: functions + type: Package + nodeid: tests + type: Dir + + ``` +
+
## ⚠️ Warnings -    
-    Warning #1 - -    ``` -message: Test warning -category: UserWarning -when: runtest -filename: /workspace/tligui_y/slic/tests/test_string_utils.py -lineno: 22 -``` - -    
+ -
+ Warning #1 + ``` + message: Test warning + category: UserWarning + when: runtest + filename: /workspace/tligui_y/slic/tests/test_string_utils.py + lineno: 22 + ``` +
diff --git a/ci-reports/markdown/json-tree-view.txt b/ci-reports/markdown/json-tree-view.txt index 38a80a17..b5659baa 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: 1752667486.5136375 -β”œβ”€β”€ duration: 0.7570886611938477 +β”œβ”€β”€ created: 1752667653.1830156 +β”œβ”€β”€ duration: 0.7579972743988037 β”œβ”€β”€ exitcode: 2 β”œβ”€β”€ root: /workspace/tligui_y/slic β”œβ”€β”€ environment @@ -413,13 +413,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00321923999581486 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.003369663027115166 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0004633590579032898 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0004378430312499404 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0002454259665682912 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00027032499201595783 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_io_utils.py::test_write_file @@ -432,13 +432,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0004545260453596711 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0005030790343880653 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0002933889627456665 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00029212504159659147 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0001393860438838601 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00015221396461129189 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_io_utils.py::test_cause_io_error @@ -451,10 +451,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001128810690715909 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012888398487120867 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015642296057194471 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001658101100474596 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/functions/io_utils.py @@ -483,7 +483,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ functions/io_utils.py:10: OSError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00013895600568503141 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00015495694242417812 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_io_utils.py::test_file_not_found @@ -496,10 +496,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011689297389239073 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012714799959212542 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001734360121190548 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00021723902318626642 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/functions/io_utils.py @@ -532,7 +532,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ functions/io_utils.py:2: FileNotFoundError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00013961305376142263 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00014435697812587023 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_io_utils.py::test_permission_error @@ -545,10 +545,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00019421393517404795 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00022185302805155516 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00018298206850886345 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001944419927895069 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_io_utils.py @@ -568,7 +568,7 @@ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ lineno: 34 β”‚ β”‚ β”‚ β”‚ └── message: PermissionError β”‚ β”‚ β”‚ └── longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object -β”‚ β”‚ β”‚ at 0x7f493e640790> +β”‚ β”‚ β”‚ at 0x7f75fdf3ad30> β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ def test_permission_error(monkeypatch): β”‚ β”‚ β”‚ # Patch open to raise PermissionError simulating access @@ -594,7 +594,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_io_utils.py:34: PermissionError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00017319596372544765 +β”‚ β”‚ β”œβ”€β”€ duration: 0.0001858629984781146 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_io_utils.py::test_mock_open_error @@ -607,10 +607,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00018824997823685408 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00020251201931387186 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0032462620874866843 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0033534480025991797 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: @@ -636,7 +636,7 @@ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ lineno: 1140 β”‚ β”‚ β”‚ β”‚ └── message: OSError β”‚ β”‚ β”‚ └── longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object -β”‚ β”‚ β”‚ at 0x7f4940be78b0> +β”‚ β”‚ β”‚ at 0x7f75fdf133d0> β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ def test_mock_open_error(monkeypatch): β”‚ β”‚ β”‚ # Mock open() to raise IOError simulating read error @@ -658,7 +658,7 @@ β”‚ β”‚ β”‚ _ _ _ _ _ _ _ _ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ self = +β”‚ β”‚ β”‚ id='140144748345280'> β”‚ β”‚ β”‚ args = ('file.txt', 'r'), kwargs = {}, effect = OSError('Mocked β”‚ β”‚ β”‚ IOError') β”‚ β”‚ β”‚ @@ -676,7 +676,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ .pixi/envs/default/lib/python3.8/unittest/mock.py:1140: OSError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0003263390390202403 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00033829896710813046 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_io_utils.py::test_file_handle_closed_error @@ -689,10 +689,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00014246092177927494 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00014766701497137547 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001970680896192789 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00020596408285200596 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_io_utils.py @@ -712,7 +712,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_io_utils.py:50: ValueError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0002128200139850378 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00020669889636337757 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_io_utils.py::test_os_error @@ -725,10 +725,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00026681809686124325 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0002606810303404927 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0002024330897256732 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0002036860678344965 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_io_utils.py @@ -744,7 +744,7 @@ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ lineno: 55 β”‚ β”‚ β”‚ β”‚ └── message: OSError β”‚ β”‚ β”‚ └── longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object -β”‚ β”‚ β”‚ at 0x7f493e890a00> +β”‚ β”‚ β”‚ at 0x7f75fb1afb50> β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ def test_os_error(monkeypatch): β”‚ β”‚ β”‚ # Patch os.remove to raise OSError simulating filesystem @@ -766,7 +766,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_io_utils.py:55: OSError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0002230729442089796 +β”‚ β”‚ β”œβ”€β”€ duration: 0.0001825479557737708 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_io_utils.py::test_write_file_readonly @@ -779,13 +779,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0007309979991987348 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0006428740452975035 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0011486930307000875 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.002386757987551391 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00017095496878027916 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00014373299200087786 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_io_utils.py::test_file_not_found_error @@ -798,10 +798,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012563099153339863 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011538597755134106 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001828729873523116 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001986499410122633 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_io_utils.py @@ -822,7 +822,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_io_utils.py:69: FileNotFoundError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00015336996875703335 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00014717900194227695 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_broken @@ -835,10 +835,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00013724295422434807 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00013043300714343786 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00016569090075790882 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001558359945192933 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -858,7 +858,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:16: NameError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0001451720017939806 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00013754097744822502 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_call_missing_function @@ -871,10 +871,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012158905155956745 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.000130928005091846 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00016618601512163877 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015084398910403252 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -895,7 +895,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:20: AttributeError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00014295498840510845 +β”‚ β”‚ β”œβ”€β”€ duration: 0.0001389659009873867 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_addition_pass[2-2-4] @@ -911,13 +911,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0003253769828006625 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0003057289868593216 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00014887808356434107 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015530793461948633 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00014638900756835938 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00013988406863063574 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_addition_pass[1-5-6] @@ -933,13 +933,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00024312594905495644 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00026429397985339165 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012967397924512625 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015154003631323576 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00013816100545227528 +β”‚ β”‚ β”œβ”€β”€ duration: 0.0001377889420837164 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_addition_pass[3-4-7] @@ -955,13 +955,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00024071696680039167 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0002612241078168154 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012603902723640203 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00014891393948346376 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00013374199625104666 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00013538298662751913 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_addition_pass[3-5-8] @@ -977,13 +977,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0002415491035208106 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00023611809592694044 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001275360118597746 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00014549994375556707 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00013520196080207825 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00013087107799947262 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_addition_pass[3-6-9] @@ -999,13 +999,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0002358530182391405 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00024448696058243513 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012420292478054762 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00014111201744526625 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00013899896293878555 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00013160007074475288 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_addition_pass_id @@ -1021,13 +1021,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.000232266029343009 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00023956596851348877 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012126704677939415 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00013690500054508448 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00014193891547620296 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00012871506623923779 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_addition_pass_id @@ -1043,13 +1043,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0002371090231463313 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00024043594021350145 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012584496289491653 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001385919749736786 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00013804901391267776 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00013792794197797775 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_addition_pass_id @@ -1065,13 +1065,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00022840395104140043 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00024062104057520628 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012091908138245344 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00014178699348121881 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00012851599603891373 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00013001600746065378 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_addition_fail @@ -1084,10 +1084,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00010106305126100779 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00010199297685176134 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.000486643984913826 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0004883749643340707 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1107,7 +1107,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:51: AssertionError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0001554629998281598 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00013862608466297388 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_division_zero @@ -1120,10 +1120,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012273492757230997 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011705700308084488 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00016533804591745138 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00016285106539726257 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/functions/math_utils.py @@ -1155,7 +1155,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ functions/math_utils.py:5: ZeroDivisionError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0001436159946024418 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00013741105794906616 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_multiply_xfail @@ -1170,10 +1170,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00013423396740108728 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001368609955534339 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00028755597304552794 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00030864099971950054 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: skipped β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1195,7 +1195,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:60: AssertionError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00015552900731563568 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00015341397374868393 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_runtime_error @@ -1208,10 +1208,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011740799527615309 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011903105769306421 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001482230145484209 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015070592053234577 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1229,7 +1229,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:64: RuntimeError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00013889698311686516 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00014218303840607405 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_memory_error @@ -1242,10 +1242,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011997309047728777 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011854502372443676 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001547200372442603 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015072000678628683 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1264,7 +1264,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:68: MemoryError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0001455649035051465 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00014770310372114182 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_timeout_error @@ -1277,10 +1277,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012025400064885616 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012445100583136082 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015303399413824081 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001496950862929225 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1299,7 +1299,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:72: TimeoutError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00014734896831214428 +β”‚ β”‚ β”œβ”€β”€ duration: 0.0001352420076727867 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_recursion_error @@ -1312,10 +1312,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011818902567029 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012478604912757874 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0007903999648988247 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0008256030268967152 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1350,7 +1350,7 @@ β”‚ β”‚ β”‚ E RecursionError: maximum recursion depth exceeded β”‚ β”‚ β”‚ !!! Recursion detected (same locals & position) β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0001874910667538643 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00014858401846140623 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_floating_point_error @@ -1363,10 +1363,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012736197095364332 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00013639195822179317 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00016365398187190294 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015275808982551098 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1385,7 +1385,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:82: FloatingPointError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00016006093937903643 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00015308603178709745 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_floating_point_overflow @@ -1398,10 +1398,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012055807746946812 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012607197277247906 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00017829297576099634 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00016459205653518438 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1419,7 +1419,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:86: OverflowError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00015965697821229696 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00014485593419522047 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_value_error @@ -1432,10 +1432,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012488593347370625 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012342003174126148 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00016532395966351032 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00016150495503097773 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1455,7 +1455,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:90: ValueError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00015142792835831642 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00013834796845912933 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_wrong_argument_error @@ -1468,10 +1468,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001261590514332056 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012425798922777176 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015774695202708244 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001536230556666851 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1489,7 +1489,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:94: TypeError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00015948491636663675 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00014815106987953186 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_unhandled_exception @@ -1502,10 +1502,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012020498979836702 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00013999396469444036 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015334703493863344 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015200104098767042 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1523,7 +1523,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:98: Exception β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00015508197247982025 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00013775902334600687 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_custom_error @@ -1536,10 +1536,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00013578298967331648 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011778890620917082 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015712098684161901 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00016327202320098877 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1558,7 +1558,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:102: CustomError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.000151930027641356 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00013874494470655918 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_stop_iteration_direct @@ -1571,10 +1571,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012169498950242996 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011970207560807467 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015942996833473444 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015246006660163403 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: @@ -1661,7 +1661,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ cls = β”‚ β”‚ β”‚ func = . at -β”‚ β”‚ β”‚ 0x7f4940a9d4c0> +β”‚ β”‚ β”‚ 0x7f75fae984c0> β”‚ β”‚ β”‚ when = 'call' β”‚ β”‚ β”‚ reraise = (, ) @@ -1744,7 +1744,7 @@ β”‚ β”‚ β”‚ .pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.p β”‚ β”‚ β”‚ y:880: RuntimeError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00026621692813932896 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00028590194415301085 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_generator_exit_direct @@ -1757,10 +1757,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00014588807243853807 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00014338793698698282 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00018529605586081743 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00017933291383087635 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1778,7 +1778,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:110: GeneratorExit β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0002024270361289382 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00021471804939210415 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_malformed_code @@ -1791,10 +1791,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00013619102537631989 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00013299193233251572 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00018457300029695034 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001776090357452631 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1818,7 +1818,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:114: SyntaxError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00015295995399355888 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00017366802785545588 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_sys_exit @@ -1831,10 +1831,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00013320893049240112 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012981495819985867 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00016039807815104723 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015939492732286453 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1852,7 +1852,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:118: SystemExit β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00014405196998268366 +β”‚ β”‚ β”œβ”€β”€ duration: 0.0001513379393145442 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_broken_function @@ -1865,10 +1865,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012812705244868994 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001414640573784709 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015652598813176155 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00016761594451963902 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1901,7 +1901,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:123: TypeError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00014716293662786484 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00015442504081875086 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_import_error @@ -1914,10 +1914,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011993793305009604 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012189208064228296 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.000169450999237597 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00016699591651558876 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1934,7 +1934,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_math_utils.py:127: ImportError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0001446940004825592 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00014639203436672688 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_math_utils.py::test_module_not_found_error @@ -1947,10 +1947,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012520607560873032 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012237601913511753 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0004987139254808426 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0004924499662593007 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: @@ -1998,7 +1998,7 @@ β”‚ β”‚ β”‚ _ _ _ _ _ _ _ _ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ name = 'non_existent_module_xyz' -β”‚ β”‚ β”‚ import_ = +β”‚ β”‚ β”‚ import_ = β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ > ??? β”‚ β”‚ β”‚ E ModuleNotFoundError: No module named @@ -2006,7 +2006,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ :973: ModuleNotFoundError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0002245450159534812 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00016564910765737295 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_string_utils.py::test_uppercase_normal @@ -2019,13 +2019,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015098403673619032 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001457459293305874 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00017254997510463 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015196308959275484 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00010489905253052711 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00010447204113006592 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_string_utils.py::test_uppercase_type_error @@ -2038,10 +2038,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00010859104804694653 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00010726507753133774 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015282898675650358 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015546497888863087 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/functions/string_utils.py @@ -2073,7 +2073,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ functions/string_utils.py:3: TypeError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0001718580024316907 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00014460703823715448 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_string_utils.py::test_reverse_string @@ -2086,13 +2086,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001231759088113904 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001345650525763631 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001606049481779337 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00014425406698137522 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0001024989178404212 +β”‚ β”‚ β”œβ”€β”€ duration: 0.0001138600055128336 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_string_utils.py::test_warning_emit @@ -2105,13 +2105,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012036692351102829 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00010744703467935324 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00014876201748847961 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00014388805720955133 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00010146305430680513 +β”‚ β”‚ β”œβ”€β”€ duration: 9.619107004255056e-05 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_string_utils.py::test_unicode_decode_error @@ -2124,10 +2124,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00010385597124695778 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011107593309134245 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00014831800945103168 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00015106098726391792 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_string_utils.py @@ -2147,7 +2147,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_string_utils.py:26: UnicodeDecodeError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00016877707093954086 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00013883400242775679 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: @@ -2161,10 +2161,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012163503561168909 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011739390902221203 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00016275804955512285 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001548220170661807 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: failed β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_string_utils.py @@ -2185,7 +2185,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_string_utils.py:30: UnicodeDecodeError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00014117208775132895 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00015292793978005648 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_string_utils.py::test_import_warning @@ -2198,13 +2198,13 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011685490608215332 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00011642999015748501 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001364720519632101 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001367590157315135 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.00010040798224508762 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00010078900959342718 β”‚ β”‚ └── outcome: passed β”‚ β”œβ”€β”€ - β”‚ β”‚ β”œβ”€β”€ nodeid: tests/test_string_utils.py::test_xfail_uppercase_digits @@ -2219,10 +2219,10 @@ β”‚ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ β”‚ └── β”‚ β”‚ β”œβ”€β”€ setup -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0001152219483628869 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.00012193899601697922 β”‚ β”‚ β”‚ └── outcome: passed β”‚ β”‚ β”œβ”€β”€ call -β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0006349110044538975 +β”‚ β”‚ β”‚ β”œβ”€β”€ duration: 0.0006399459671229124 β”‚ β”‚ β”‚ β”œβ”€β”€ outcome: skipped β”‚ β”‚ β”‚ β”œβ”€β”€ crash β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ path: /workspace/tligui_y/slic/tests/test_string_utils.py @@ -2251,7 +2251,7 @@ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ tests/test_string_utils.py:39: AssertionError β”‚ β”‚ └── teardown -β”‚ β”‚ β”œβ”€β”€ duration: 0.0001532569294795394 +β”‚ β”‚ β”œβ”€β”€ duration: 0.00013744900934398174 β”‚ β”‚ └── outcome: passed β”‚ └── - β”‚ β”œβ”€β”€ nodeid: tests/test_string_utils.py::test_keyboard_interrupt_direct @@ -2264,7 +2264,7 @@ β”‚ β”‚ β”œβ”€β”€ slic β”‚ β”‚ └── β”‚ └── setup -β”‚ β”œβ”€β”€ duration: 0.00011554500088095665 +β”‚ β”œβ”€β”€ duration: 0.00011670507956296206 β”‚ └── outcome: passed └── warnings └── - diff --git a/ci-reports/markdown/pytest-report.json b/ci-reports/markdown/pytest-report.json index 2966a622..527287f9 100644 --- a/ci-reports/markdown/pytest-report.json +++ b/ci-reports/markdown/pytest-report.json @@ -1 +1 @@ -{"created": 1752667486.5136375, "duration": 0.7570886611938477, "exitcode": 2, "root": "/workspace/tligui_y/slic", "environment": {}, "summary": {"passed": 16, "failed": 31, "xfailed": 2, "total": 49, "collected": 49}, "collectors": [{"nodeid": "", "outcome": "passed", "result": [{"nodeid": ".", "type": "Dir"}]}, {"nodeid": "ci-reports/allure/data", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/export", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/history", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin/behaviors", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin/packages", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin/screen-diff", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin", "outcome": "passed", "result": [{"nodeid": "ci-reports/allure/plugin/behaviors", "type": "Dir"}, {"nodeid": "ci-reports/allure/plugin/packages", "type": "Dir"}, {"nodeid": "ci-reports/allure/plugin/screen-diff", "type": "Dir"}]}, {"nodeid": "ci-reports/allure/widgets", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure", "outcome": "passed", "result": [{"nodeid": "ci-reports/allure/data", "type": "Dir"}, {"nodeid": "ci-reports/allure/export", "type": "Dir"}, {"nodeid": "ci-reports/allure/history", "type": "Dir"}, {"nodeid": "ci-reports/allure/plugin", "type": "Dir"}, {"nodeid": "ci-reports/allure/widgets", "type": "Dir"}]}, {"nodeid": "ci-reports/coverage", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/markdown", "outcome": "passed", "result": []}, {"nodeid": "ci-reports", "outcome": "passed", "result": [{"nodeid": "ci-reports/allure", "type": "Dir"}, {"nodeid": "ci-reports/coverage", "type": "Dir"}, {"nodeid": "ci-reports/markdown", "type": "Dir"}]}, {"nodeid": "functions", "outcome": "passed", "result": []}, {"nodeid": "tests/test_broken_fct.py", "outcome": "failed", "result": [], "longrepr": ".pixi/envs/default/lib/python3.8/site-packages/_pytest/python.py:493: in importtestmodule\n mod = import_path(\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/pathlib.py:587: in import_path\n importlib.import_module(module_name)\n.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n:1014: in _gcd_import\n ???\n:991: in _find_and_load\n ???\n:975: in _find_and_load_unlocked\n ???\n:671: in _load_unlocked\n ???\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:175: in exec_module\n source_stat, co = _rewrite_test(fn, self.config)\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:355: in _rewrite_test\n tree = ast.parse(source, filename=strfn)\n.pixi/envs/default/lib/python3.8/ast.py:47: in parse\n return compile(source, filename, mode, flags,\nE File \"/workspace/tligui_y/slic/tests/test_broken_fct.py\", line 8\nE def test_valid_2():\nE ^\nE SyntaxError: invalid syntax"}, {"nodeid": "tests/test_collector_error.py", "outcome": "failed", "result": [], "longrepr": "ImportError while importing test module '/workspace/tligui_y/slic/tests/test_collector_error.py'.\nHint: make sure your test modules/packages have valid Python names.\nTraceback:\n.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\ntests/test_collector_error.py:1: in \n from no_existing_module.math_utils import *\nE ModuleNotFoundError: No module named 'no_existing_module'"}, {"nodeid": "tests/test_io_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_io_utils.py::test_read_file", "type": "Function", "lineno": 9}, {"nodeid": "tests/test_io_utils.py::test_write_file", "type": "Function", "lineno": 16}, {"nodeid": "tests/test_io_utils.py::test_cause_io_error", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_io_utils.py::test_file_not_found", "type": "Function", "lineno": 26}, {"nodeid": "tests/test_io_utils.py::test_permission_error", "type": "Function", "lineno": 30}, {"nodeid": "tests/test_io_utils.py::test_mock_open_error", "type": "Function", "lineno": 37}, {"nodeid": "tests/test_io_utils.py::test_file_handle_closed_error", "type": "Function", "lineno": 45}, {"nodeid": "tests/test_io_utils.py::test_os_error", "type": "Function", "lineno": 51}, {"nodeid": "tests/test_io_utils.py::test_write_file_readonly", "type": "Function", "lineno": 58}, {"nodeid": "tests/test_io_utils.py::test_file_not_found_error", "type": "Function", "lineno": 66}]}, {"nodeid": "tests/test_math_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_math_utils.py::test_broken", "type": "Function", "lineno": 13}, {"nodeid": "tests/test_math_utils.py::test_call_missing_function", "type": "Function", "lineno": 17}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[2-2-4]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[1-5-6]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-4-7]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-5-8]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-6-9]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=2,b=2,expected=4]", "type": "Function", "lineno": 36}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=1,b=5,expected=6]", "type": "Function", "lineno": 36}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=3,b=4,expected=7]", "type": "Function", "lineno": 36}, {"nodeid": "tests/test_math_utils.py::test_addition_fail", "type": "Function", "lineno": 48}, {"nodeid": "tests/test_math_utils.py::test_division_zero", "type": "Function", "lineno": 52}, {"nodeid": "tests/test_math_utils.py::test_multiply_xfail", "type": "Function", "lineno": 56}, {"nodeid": "tests/test_math_utils.py::test_runtime_error", "type": "Function", "lineno": 61}, {"nodeid": "tests/test_math_utils.py::test_memory_error", "type": "Function", "lineno": 65}, {"nodeid": "tests/test_math_utils.py::test_timeout_error", "type": "Function", "lineno": 69}, {"nodeid": "tests/test_math_utils.py::test_recursion_error", "type": "Function", "lineno": 73}, {"nodeid": "tests/test_math_utils.py::test_floating_point_error", "type": "Function", "lineno": 79}, {"nodeid": "tests/test_math_utils.py::test_floating_point_overflow", "type": "Function", "lineno": 83}, {"nodeid": "tests/test_math_utils.py::test_value_error", "type": "Function", "lineno": 87}, {"nodeid": "tests/test_math_utils.py::test_wrong_argument_error", "type": "Function", "lineno": 91}, {"nodeid": "tests/test_math_utils.py::test_unhandled_exception", "type": "Function", "lineno": 95}, {"nodeid": "tests/test_math_utils.py::test_custom_error", "type": "Function", "lineno": 99}, {"nodeid": "tests/test_math_utils.py::test_stop_iteration_direct", "type": "Function", "lineno": 103}, {"nodeid": "tests/test_math_utils.py::test_generator_exit_direct", "type": "Function", "lineno": 107}, {"nodeid": "tests/test_math_utils.py::test_malformed_code", "type": "Function", "lineno": 111}, {"nodeid": "tests/test_math_utils.py::test_sys_exit", "type": "Function", "lineno": 115}, {"nodeid": "tests/test_math_utils.py::test_broken_function", "type": "Function", "lineno": 119}, {"nodeid": "tests/test_math_utils.py::test_import_error", "type": "Function", "lineno": 125}, {"nodeid": "tests/test_math_utils.py::test_module_not_found_error", "type": "Function", "lineno": 128}]}, {"nodeid": "tests/test_string_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "type": "Function", "lineno": 7}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "type": "Function", "lineno": 11}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "type": "Function", "lineno": 15}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "type": "Function", "lineno": 19}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "type": "Function", "lineno": 23}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "type": "Function", "lineno": 27}, {"nodeid": "tests/test_string_utils.py::test_import_warning", "type": "Function", "lineno": 31}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "type": "Function", "lineno": 35}, {"nodeid": "tests/test_string_utils.py::test_keyboard_interrupt_direct", "type": "Function", "lineno": 40}]}, {"nodeid": "tests", "outcome": "passed", "result": [{"nodeid": "tests/test_broken_fct.py", "type": "Module"}, {"nodeid": "tests/test_collector_error.py", "type": "Module"}, {"nodeid": "tests/test_io_utils.py", "type": "Module"}, {"nodeid": "tests/test_math_utils.py", "type": "Module"}, {"nodeid": "tests/test_string_utils.py", "type": "Module"}]}, {"nodeid": ".", "outcome": "passed", "result": [{"nodeid": "ci-reports", "type": "Dir"}, {"nodeid": "functions", "type": "Package"}, {"nodeid": "tests", "type": "Dir"}]}], "tests": [{"nodeid": "tests/test_io_utils.py::test_read_file", "lineno": 9, "outcome": "passed", "keywords": ["test_read_file", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00321923999581486, "outcome": "passed"}, "call": {"duration": 0.0004633590579032898, "outcome": "passed"}, "teardown": {"duration": 0.0002454259665682912, "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.0004545260453596711, "outcome": "passed"}, "call": {"duration": 0.0002933889627456665, "outcome": "passed"}, "teardown": {"duration": 0.0001393860438838601, "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.0001128810690715909, "outcome": "passed"}, "call": {"duration": 0.00015642296057194471, "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.00013895600568503141, "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.00011689297389239073, "outcome": "passed"}, "call": {"duration": 0.0001734360121190548, "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.00013961305376142263, "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.00019421393517404795, "outcome": "passed"}, "call": {"duration": 0.00018298206850886345, "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 0x7f493e640790>\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.00017319596372544765, "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.00018824997823685408, "outcome": "passed"}, "call": {"duration": 0.0032462620874866843, "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 0x7f4940be78b0>\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.0003263390390202403, "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.00014246092177927494, "outcome": "passed"}, "call": {"duration": 0.0001970680896192789, "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.0002128200139850378, "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.00026681809686124325, "outcome": "passed"}, "call": {"duration": 0.0002024330897256732, "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 0x7f493e890a00>\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.0002230729442089796, "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.0007309979991987348, "outcome": "passed"}, "call": {"duration": 0.0011486930307000875, "outcome": "passed"}, "teardown": {"duration": 0.00017095496878027916, "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.00012563099153339863, "outcome": "passed"}, "call": {"duration": 0.0001828729873523116, "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.00015336996875703335, "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.00013724295422434807, "outcome": "passed"}, "call": {"duration": 0.00016569090075790882, "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.0001451720017939806, "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.00012158905155956745, "outcome": "passed"}, "call": {"duration": 0.00016618601512163877, "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.00014295498840510845, "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.0003253769828006625, "outcome": "passed"}, "call": {"duration": 0.00014887808356434107, "outcome": "passed"}, "teardown": {"duration": 0.00014638900756835938, "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.00024312594905495644, "outcome": "passed"}, "call": {"duration": 0.00012967397924512625, "outcome": "passed"}, "teardown": {"duration": 0.00013816100545227528, "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.00024071696680039167, "outcome": "passed"}, "call": {"duration": 0.00012603902723640203, "outcome": "passed"}, "teardown": {"duration": 0.00013374199625104666, "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.0002415491035208106, "outcome": "passed"}, "call": {"duration": 0.0001275360118597746, "outcome": "passed"}, "teardown": {"duration": 0.00013520196080207825, "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.0002358530182391405, "outcome": "passed"}, "call": {"duration": 0.00012420292478054762, "outcome": "passed"}, "teardown": {"duration": 0.00013899896293878555, "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.000232266029343009, "outcome": "passed"}, "call": {"duration": 0.00012126704677939415, "outcome": "passed"}, "teardown": {"duration": 0.00014193891547620296, "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.0002371090231463313, "outcome": "passed"}, "call": {"duration": 0.00012584496289491653, "outcome": "passed"}, "teardown": {"duration": 0.00013804901391267776, "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.00022840395104140043, "outcome": "passed"}, "call": {"duration": 0.00012091908138245344, "outcome": "passed"}, "teardown": {"duration": 0.00012851599603891373, "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.00010106305126100779, "outcome": "passed"}, "call": {"duration": 0.000486643984913826, "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.0001554629998281598, "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.00012273492757230997, "outcome": "passed"}, "call": {"duration": 0.00016533804591745138, "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.0001436159946024418, "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.00013423396740108728, "outcome": "passed"}, "call": {"duration": 0.00028755597304552794, "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.00015552900731563568, "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.00011740799527615309, "outcome": "passed"}, "call": {"duration": 0.0001482230145484209, "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.00013889698311686516, "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.00011997309047728777, "outcome": "passed"}, "call": {"duration": 0.0001547200372442603, "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.0001455649035051465, "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.00012025400064885616, "outcome": "passed"}, "call": {"duration": 0.00015303399413824081, "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.00014734896831214428, "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.00011818902567029, "outcome": "passed"}, "call": {"duration": 0.0007903999648988247, "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.0001874910667538643, "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.00012736197095364332, "outcome": "passed"}, "call": {"duration": 0.00016365398187190294, "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.00016006093937903643, "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.00012055807746946812, "outcome": "passed"}, "call": {"duration": 0.00017829297576099634, "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.00015965697821229696, "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.00012488593347370625, "outcome": "passed"}, "call": {"duration": 0.00016532395966351032, "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.00015142792835831642, "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.0001261590514332056, "outcome": "passed"}, "call": {"duration": 0.00015774695202708244, "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.00015948491636663675, "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.00012020498979836702, "outcome": "passed"}, "call": {"duration": 0.00015334703493863344, "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.00015508197247982025, "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.00013578298967331648, "outcome": "passed"}, "call": {"duration": 0.00015712098684161901, "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.000151930027641356, "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.00012169498950242996, "outcome": "passed"}, "call": {"duration": 0.00015942996833473444, "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 0x7f4940a9d4c0>\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.00026621692813932896, "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.00014588807243853807, "outcome": "passed"}, "call": {"duration": 0.00018529605586081743, "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.0002024270361289382, "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.00013619102537631989, "outcome": "passed"}, "call": {"duration": 0.00018457300029695034, "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.00015295995399355888, "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.00013320893049240112, "outcome": "passed"}, "call": {"duration": 0.00016039807815104723, "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.00014405196998268366, "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.00012812705244868994, "outcome": "passed"}, "call": {"duration": 0.00015652598813176155, "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.00014716293662786484, "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.00011993793305009604, "outcome": "passed"}, "call": {"duration": 0.000169450999237597, "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.0001446940004825592, "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.00012520607560873032, "outcome": "passed"}, "call": {"duration": 0.0004987139254808426, "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.0002245450159534812, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "lineno": 7, "outcome": "passed", "keywords": ["test_uppercase_normal", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00015098403673619032, "outcome": "passed"}, "call": {"duration": 0.00017254997510463, "outcome": "passed"}, "teardown": {"duration": 0.00010489905253052711, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "lineno": 11, "outcome": "failed", "keywords": ["test_uppercase_type_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010859104804694653, "outcome": "passed"}, "call": {"duration": 0.00015282898675650358, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/functions/string_utils.py", "lineno": 3, "message": "TypeError: Input cannot be None"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 14, "message": ""}, {"path": "functions/string_utils.py", "lineno": 3, "message": "TypeError"}], "longrepr": "def test_uppercase_type_error():\n # TypeError when input is None (invalid input)\n> uppercase(None)\n\ntests/test_string_utils.py:14: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\ns = None\n\n def uppercase(s):\n if s is None:\n> raise TypeError(\"Input cannot be None\")\nE TypeError: Input cannot be None\n\nfunctions/string_utils.py:3: TypeError"}, "teardown": {"duration": 0.0001718580024316907, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "lineno": 15, "outcome": "passed", "keywords": ["test_reverse_string", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0001231759088113904, "outcome": "passed"}, "call": {"duration": 0.0001606049481779337, "outcome": "passed"}, "teardown": {"duration": 0.0001024989178404212, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "lineno": 19, "outcome": "passed", "keywords": ["test_warning_emit", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012036692351102829, "outcome": "passed"}, "call": {"duration": 0.00014876201748847961, "outcome": "passed"}, "teardown": {"duration": 0.00010146305430680513, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "lineno": 23, "outcome": "failed", "keywords": ["test_unicode_decode_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010385597124695778, "outcome": "passed"}, "call": {"duration": 0.00014831800945103168, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 26, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 26, "message": "UnicodeDecodeError"}], "longrepr": "def test_unicode_decode_error():\n # UnicodeDecodeError when decoding invalid byte sequence\n> b'\\xff'.decode('utf-8')\nE UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte\n\ntests/test_string_utils.py:26: UnicodeDecodeError"}, "teardown": {"duration": 0.00016877707093954086, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "lineno": 27, "outcome": "failed", "keywords": ["test_unicode_decode_surrogateescape", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012163503561168909, "outcome": "passed"}, "call": {"duration": 0.00016275804955512285, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 30, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 30, "message": "UnicodeDecodeError"}], "longrepr": "def test_unicode_decode_surrogateescape():\n # UnicodeDecodeError with strict error handler on invalid byte\n> b\"\\x80\".decode(\"utf-8\", errors=\"strict\")\nE UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte\n\ntests/test_string_utils.py:30: UnicodeDecodeError"}, "teardown": {"duration": 0.00014117208775132895, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_import_warning", "lineno": 31, "outcome": "passed", "keywords": ["test_import_warning", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011685490608215332, "outcome": "passed"}, "call": {"duration": 0.0001364720519632101, "outcome": "passed"}, "teardown": {"duration": 0.00010040798224508762, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "lineno": 35, "outcome": "xfailed", "keywords": ["test_xfail_uppercase_digits", "xfail", "pytestmark", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0001152219483628869, "outcome": "passed"}, "call": {"duration": 0.0006349110044538975, "outcome": "skipped", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 39, "message": "AssertionError: assert 'ABC123' == 'ABC1234'\n \n - ABC1234\n ? -\n + ABC123"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 39, "message": "AssertionError"}], "longrepr": "@pytest.mark.xfail(reason=\"Expected failure: uppercase does not handle digits\")\n def test_xfail_uppercase_digits():\n # Expected fail test because uppercase won't change digits\n> assert uppercase(\"abc123\") == \"ABC1234\"\nE AssertionError: assert 'ABC123' == 'ABC1234'\nE \nE - ABC1234\nE ? -\nE + ABC123\n\ntests/test_string_utils.py:39: AssertionError"}, "teardown": {"duration": 0.0001532569294795394, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_keyboard_interrupt_direct", "lineno": 40, "outcome": "passed", "keywords": ["test_keyboard_interrupt_direct", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011554500088095665, "outcome": "passed"}}], "warnings": [{"message": "Test warning", "category": "UserWarning", "when": "runtest", "filename": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 22}]} \ No newline at end of file +{"created": 1752667653.1830156, "duration": 0.7579972743988037, "exitcode": 2, "root": "/workspace/tligui_y/slic", "environment": {}, "summary": {"passed": 16, "failed": 31, "xfailed": 2, "total": 49, "collected": 49}, "collectors": [{"nodeid": "", "outcome": "passed", "result": [{"nodeid": ".", "type": "Dir"}]}, {"nodeid": "ci-reports/allure/data", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/export", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/history", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin/behaviors", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin/packages", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin/screen-diff", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/plugin", "outcome": "passed", "result": [{"nodeid": "ci-reports/allure/plugin/behaviors", "type": "Dir"}, {"nodeid": "ci-reports/allure/plugin/packages", "type": "Dir"}, {"nodeid": "ci-reports/allure/plugin/screen-diff", "type": "Dir"}]}, {"nodeid": "ci-reports/allure/widgets", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure", "outcome": "passed", "result": [{"nodeid": "ci-reports/allure/data", "type": "Dir"}, {"nodeid": "ci-reports/allure/export", "type": "Dir"}, {"nodeid": "ci-reports/allure/history", "type": "Dir"}, {"nodeid": "ci-reports/allure/plugin", "type": "Dir"}, {"nodeid": "ci-reports/allure/widgets", "type": "Dir"}]}, {"nodeid": "ci-reports/coverage", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/markdown", "outcome": "passed", "result": []}, {"nodeid": "ci-reports", "outcome": "passed", "result": [{"nodeid": "ci-reports/allure", "type": "Dir"}, {"nodeid": "ci-reports/coverage", "type": "Dir"}, {"nodeid": "ci-reports/markdown", "type": "Dir"}]}, {"nodeid": "functions", "outcome": "passed", "result": []}, {"nodeid": "tests/test_broken_fct.py", "outcome": "failed", "result": [], "longrepr": ".pixi/envs/default/lib/python3.8/site-packages/_pytest/python.py:493: in importtestmodule\n mod = import_path(\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/pathlib.py:587: in import_path\n importlib.import_module(module_name)\n.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n:1014: in _gcd_import\n ???\n:991: in _find_and_load\n ???\n:975: in _find_and_load_unlocked\n ???\n:671: in _load_unlocked\n ???\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:175: in exec_module\n source_stat, co = _rewrite_test(fn, self.config)\n.pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:355: in _rewrite_test\n tree = ast.parse(source, filename=strfn)\n.pixi/envs/default/lib/python3.8/ast.py:47: in parse\n return compile(source, filename, mode, flags,\nE File \"/workspace/tligui_y/slic/tests/test_broken_fct.py\", line 8\nE def test_valid_2():\nE ^\nE SyntaxError: invalid syntax"}, {"nodeid": "tests/test_collector_error.py", "outcome": "failed", "result": [], "longrepr": "ImportError while importing test module '/workspace/tligui_y/slic/tests/test_collector_error.py'.\nHint: make sure your test modules/packages have valid Python names.\nTraceback:\n.pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\ntests/test_collector_error.py:1: in \n from no_existing_module.math_utils import *\nE ModuleNotFoundError: No module named 'no_existing_module'"}, {"nodeid": "tests/test_io_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_io_utils.py::test_read_file", "type": "Function", "lineno": 9}, {"nodeid": "tests/test_io_utils.py::test_write_file", "type": "Function", "lineno": 16}, {"nodeid": "tests/test_io_utils.py::test_cause_io_error", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_io_utils.py::test_file_not_found", "type": "Function", "lineno": 26}, {"nodeid": "tests/test_io_utils.py::test_permission_error", "type": "Function", "lineno": 30}, {"nodeid": "tests/test_io_utils.py::test_mock_open_error", "type": "Function", "lineno": 37}, {"nodeid": "tests/test_io_utils.py::test_file_handle_closed_error", "type": "Function", "lineno": 45}, {"nodeid": "tests/test_io_utils.py::test_os_error", "type": "Function", "lineno": 51}, {"nodeid": "tests/test_io_utils.py::test_write_file_readonly", "type": "Function", "lineno": 58}, {"nodeid": "tests/test_io_utils.py::test_file_not_found_error", "type": "Function", "lineno": 66}]}, {"nodeid": "tests/test_math_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_math_utils.py::test_broken", "type": "Function", "lineno": 13}, {"nodeid": "tests/test_math_utils.py::test_call_missing_function", "type": "Function", "lineno": 17}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[2-2-4]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[1-5-6]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-4-7]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-5-8]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass[3-6-9]", "type": "Function", "lineno": 22}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=2,b=2,expected=4]", "type": "Function", "lineno": 36}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=1,b=5,expected=6]", "type": "Function", "lineno": 36}, {"nodeid": "tests/test_math_utils.py::test_addition_pass_id[a=3,b=4,expected=7]", "type": "Function", "lineno": 36}, {"nodeid": "tests/test_math_utils.py::test_addition_fail", "type": "Function", "lineno": 48}, {"nodeid": "tests/test_math_utils.py::test_division_zero", "type": "Function", "lineno": 52}, {"nodeid": "tests/test_math_utils.py::test_multiply_xfail", "type": "Function", "lineno": 56}, {"nodeid": "tests/test_math_utils.py::test_runtime_error", "type": "Function", "lineno": 61}, {"nodeid": "tests/test_math_utils.py::test_memory_error", "type": "Function", "lineno": 65}, {"nodeid": "tests/test_math_utils.py::test_timeout_error", "type": "Function", "lineno": 69}, {"nodeid": "tests/test_math_utils.py::test_recursion_error", "type": "Function", "lineno": 73}, {"nodeid": "tests/test_math_utils.py::test_floating_point_error", "type": "Function", "lineno": 79}, {"nodeid": "tests/test_math_utils.py::test_floating_point_overflow", "type": "Function", "lineno": 83}, {"nodeid": "tests/test_math_utils.py::test_value_error", "type": "Function", "lineno": 87}, {"nodeid": "tests/test_math_utils.py::test_wrong_argument_error", "type": "Function", "lineno": 91}, {"nodeid": "tests/test_math_utils.py::test_unhandled_exception", "type": "Function", "lineno": 95}, {"nodeid": "tests/test_math_utils.py::test_custom_error", "type": "Function", "lineno": 99}, {"nodeid": "tests/test_math_utils.py::test_stop_iteration_direct", "type": "Function", "lineno": 103}, {"nodeid": "tests/test_math_utils.py::test_generator_exit_direct", "type": "Function", "lineno": 107}, {"nodeid": "tests/test_math_utils.py::test_malformed_code", "type": "Function", "lineno": 111}, {"nodeid": "tests/test_math_utils.py::test_sys_exit", "type": "Function", "lineno": 115}, {"nodeid": "tests/test_math_utils.py::test_broken_function", "type": "Function", "lineno": 119}, {"nodeid": "tests/test_math_utils.py::test_import_error", "type": "Function", "lineno": 125}, {"nodeid": "tests/test_math_utils.py::test_module_not_found_error", "type": "Function", "lineno": 128}]}, {"nodeid": "tests/test_string_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "type": "Function", "lineno": 7}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "type": "Function", "lineno": 11}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "type": "Function", "lineno": 15}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "type": "Function", "lineno": 19}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "type": "Function", "lineno": 23}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "type": "Function", "lineno": 27}, {"nodeid": "tests/test_string_utils.py::test_import_warning", "type": "Function", "lineno": 31}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "type": "Function", "lineno": 35}, {"nodeid": "tests/test_string_utils.py::test_keyboard_interrupt_direct", "type": "Function", "lineno": 40}]}, {"nodeid": "tests", "outcome": "passed", "result": [{"nodeid": "tests/test_broken_fct.py", "type": "Module"}, {"nodeid": "tests/test_collector_error.py", "type": "Module"}, {"nodeid": "tests/test_io_utils.py", "type": "Module"}, {"nodeid": "tests/test_math_utils.py", "type": "Module"}, {"nodeid": "tests/test_string_utils.py", "type": "Module"}]}, {"nodeid": ".", "outcome": "passed", "result": [{"nodeid": "ci-reports", "type": "Dir"}, {"nodeid": "functions", "type": "Package"}, {"nodeid": "tests", "type": "Dir"}]}], "tests": [{"nodeid": "tests/test_io_utils.py::test_read_file", "lineno": 9, "outcome": "passed", "keywords": ["test_read_file", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.003369663027115166, "outcome": "passed"}, "call": {"duration": 0.0004378430312499404, "outcome": "passed"}, "teardown": {"duration": 0.00027032499201595783, "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.0005030790343880653, "outcome": "passed"}, "call": {"duration": 0.00029212504159659147, "outcome": "passed"}, "teardown": {"duration": 0.00015221396461129189, "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.00012888398487120867, "outcome": "passed"}, "call": {"duration": 0.0001658101100474596, "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.00015495694242417812, "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.00012714799959212542, "outcome": "passed"}, "call": {"duration": 0.00021723902318626642, "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.00014435697812587023, "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.00022185302805155516, "outcome": "passed"}, "call": {"duration": 0.0001944419927895069, "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 0x7f75fdf3ad30>\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.0001858629984781146, "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.00020251201931387186, "outcome": "passed"}, "call": {"duration": 0.0033534480025991797, "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 0x7f75fdf133d0>\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.00033829896710813046, "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.00014766701497137547, "outcome": "passed"}, "call": {"duration": 0.00020596408285200596, "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.00020669889636337757, "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.0002606810303404927, "outcome": "passed"}, "call": {"duration": 0.0002036860678344965, "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 0x7f75fb1afb50>\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.0001825479557737708, "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.0006428740452975035, "outcome": "passed"}, "call": {"duration": 0.002386757987551391, "outcome": "passed"}, "teardown": {"duration": 0.00014373299200087786, "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.00011538597755134106, "outcome": "passed"}, "call": {"duration": 0.0001986499410122633, "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.00014717900194227695, "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.00013043300714343786, "outcome": "passed"}, "call": {"duration": 0.0001558359945192933, "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.00013754097744822502, "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.000130928005091846, "outcome": "passed"}, "call": {"duration": 0.00015084398910403252, "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.0001389659009873867, "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.0003057289868593216, "outcome": "passed"}, "call": {"duration": 0.00015530793461948633, "outcome": "passed"}, "teardown": {"duration": 0.00013988406863063574, "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.00026429397985339165, "outcome": "passed"}, "call": {"duration": 0.00015154003631323576, "outcome": "passed"}, "teardown": {"duration": 0.0001377889420837164, "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.0002612241078168154, "outcome": "passed"}, "call": {"duration": 0.00014891393948346376, "outcome": "passed"}, "teardown": {"duration": 0.00013538298662751913, "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.00023611809592694044, "outcome": "passed"}, "call": {"duration": 0.00014549994375556707, "outcome": "passed"}, "teardown": {"duration": 0.00013087107799947262, "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.00024448696058243513, "outcome": "passed"}, "call": {"duration": 0.00014111201744526625, "outcome": "passed"}, "teardown": {"duration": 0.00013160007074475288, "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.00023956596851348877, "outcome": "passed"}, "call": {"duration": 0.00013690500054508448, "outcome": "passed"}, "teardown": {"duration": 0.00012871506623923779, "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.00024043594021350145, "outcome": "passed"}, "call": {"duration": 0.0001385919749736786, "outcome": "passed"}, "teardown": {"duration": 0.00013792794197797775, "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.00024062104057520628, "outcome": "passed"}, "call": {"duration": 0.00014178699348121881, "outcome": "passed"}, "teardown": {"duration": 0.00013001600746065378, "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.00010199297685176134, "outcome": "passed"}, "call": {"duration": 0.0004883749643340707, "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.00013862608466297388, "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.00011705700308084488, "outcome": "passed"}, "call": {"duration": 0.00016285106539726257, "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.00013741105794906616, "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.0001368609955534339, "outcome": "passed"}, "call": {"duration": 0.00030864099971950054, "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.00015341397374868393, "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.00011903105769306421, "outcome": "passed"}, "call": {"duration": 0.00015070592053234577, "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.00014218303840607405, "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.00011854502372443676, "outcome": "passed"}, "call": {"duration": 0.00015072000678628683, "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.00014770310372114182, "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.00012445100583136082, "outcome": "passed"}, "call": {"duration": 0.0001496950862929225, "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.0001352420076727867, "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.00012478604912757874, "outcome": "passed"}, "call": {"duration": 0.0008256030268967152, "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.00014858401846140623, "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.00013639195822179317, "outcome": "passed"}, "call": {"duration": 0.00015275808982551098, "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.00015308603178709745, "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.00012607197277247906, "outcome": "passed"}, "call": {"duration": 0.00016459205653518438, "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.00014485593419522047, "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.00012342003174126148, "outcome": "passed"}, "call": {"duration": 0.00016150495503097773, "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.00013834796845912933, "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.00012425798922777176, "outcome": "passed"}, "call": {"duration": 0.0001536230556666851, "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.00014815106987953186, "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.00013999396469444036, "outcome": "passed"}, "call": {"duration": 0.00015200104098767042, "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.00013775902334600687, "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.00011778890620917082, "outcome": "passed"}, "call": {"duration": 0.00016327202320098877, "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.00013874494470655918, "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.00011970207560807467, "outcome": "passed"}, "call": {"duration": 0.00015246006660163403, "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 0x7f75fae984c0>\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.00028590194415301085, "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.00014338793698698282, "outcome": "passed"}, "call": {"duration": 0.00017933291383087635, "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.00021471804939210415, "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.00013299193233251572, "outcome": "passed"}, "call": {"duration": 0.0001776090357452631, "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.00017366802785545588, "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.00012981495819985867, "outcome": "passed"}, "call": {"duration": 0.00015939492732286453, "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.0001513379393145442, "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.0001414640573784709, "outcome": "passed"}, "call": {"duration": 0.00016761594451963902, "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.00015442504081875086, "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.00012189208064228296, "outcome": "passed"}, "call": {"duration": 0.00016699591651558876, "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.00014639203436672688, "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.00012237601913511753, "outcome": "passed"}, "call": {"duration": 0.0004924499662593007, "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.00016564910765737295, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "lineno": 7, "outcome": "passed", "keywords": ["test_uppercase_normal", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0001457459293305874, "outcome": "passed"}, "call": {"duration": 0.00015196308959275484, "outcome": "passed"}, "teardown": {"duration": 0.00010447204113006592, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "lineno": 11, "outcome": "failed", "keywords": ["test_uppercase_type_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010726507753133774, "outcome": "passed"}, "call": {"duration": 0.00015546497888863087, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/functions/string_utils.py", "lineno": 3, "message": "TypeError: Input cannot be None"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 14, "message": ""}, {"path": "functions/string_utils.py", "lineno": 3, "message": "TypeError"}], "longrepr": "def test_uppercase_type_error():\n # TypeError when input is None (invalid input)\n> uppercase(None)\n\ntests/test_string_utils.py:14: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\ns = None\n\n def uppercase(s):\n if s is None:\n> raise TypeError(\"Input cannot be None\")\nE TypeError: Input cannot be None\n\nfunctions/string_utils.py:3: TypeError"}, "teardown": {"duration": 0.00014460703823715448, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "lineno": 15, "outcome": "passed", "keywords": ["test_reverse_string", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0001345650525763631, "outcome": "passed"}, "call": {"duration": 0.00014425406698137522, "outcome": "passed"}, "teardown": {"duration": 0.0001138600055128336, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "lineno": 19, "outcome": "passed", "keywords": ["test_warning_emit", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010744703467935324, "outcome": "passed"}, "call": {"duration": 0.00014388805720955133, "outcome": "passed"}, "teardown": {"duration": 9.619107004255056e-05, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "lineno": 23, "outcome": "failed", "keywords": ["test_unicode_decode_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011107593309134245, "outcome": "passed"}, "call": {"duration": 0.00015106098726391792, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 26, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 26, "message": "UnicodeDecodeError"}], "longrepr": "def test_unicode_decode_error():\n # UnicodeDecodeError when decoding invalid byte sequence\n> b'\\xff'.decode('utf-8')\nE UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte\n\ntests/test_string_utils.py:26: UnicodeDecodeError"}, "teardown": {"duration": 0.00013883400242775679, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "lineno": 27, "outcome": "failed", "keywords": ["test_unicode_decode_surrogateescape", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011739390902221203, "outcome": "passed"}, "call": {"duration": 0.0001548220170661807, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 30, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 30, "message": "UnicodeDecodeError"}], "longrepr": "def test_unicode_decode_surrogateescape():\n # UnicodeDecodeError with strict error handler on invalid byte\n> b\"\\x80\".decode(\"utf-8\", errors=\"strict\")\nE UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte\n\ntests/test_string_utils.py:30: UnicodeDecodeError"}, "teardown": {"duration": 0.00015292793978005648, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_import_warning", "lineno": 31, "outcome": "passed", "keywords": ["test_import_warning", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011642999015748501, "outcome": "passed"}, "call": {"duration": 0.0001367590157315135, "outcome": "passed"}, "teardown": {"duration": 0.00010078900959342718, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "lineno": 35, "outcome": "xfailed", "keywords": ["test_xfail_uppercase_digits", "xfail", "pytestmark", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012193899601697922, "outcome": "passed"}, "call": {"duration": 0.0006399459671229124, "outcome": "skipped", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 39, "message": "AssertionError: assert 'ABC123' == 'ABC1234'\n \n - ABC1234\n ? -\n + ABC123"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 39, "message": "AssertionError"}], "longrepr": "@pytest.mark.xfail(reason=\"Expected failure: uppercase does not handle digits\")\n def test_xfail_uppercase_digits():\n # Expected fail test because uppercase won't change digits\n> assert uppercase(\"abc123\") == \"ABC1234\"\nE AssertionError: assert 'ABC123' == 'ABC1234'\nE \nE - ABC1234\nE ? -\nE + ABC123\n\ntests/test_string_utils.py:39: AssertionError"}, "teardown": {"duration": 0.00013744900934398174, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_keyboard_interrupt_direct", "lineno": 40, "outcome": "passed", "keywords": ["test_keyboard_interrupt_direct", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011670507956296206, "outcome": "passed"}}], "warnings": [{"message": "Test warning", "category": "UserWarning", "when": "runtest", "filename": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 22}]} \ No newline at end of file