From 16672fc4ae99c7bbc2f19ebe31eedd8087c0d900 Mon Sep 17 00:00:00 2001 From: ci-bot Date: Mon, 21 Jul 2025 08:55:07 +0000 Subject: [PATCH] CI: update test report and coverage files --- ci-reports/markdown/TEST-REPORT.md | 1092 ++++++++++++++++++----- ci-reports/markdown/json-tree-view.txt | 456 +++++----- ci-reports/markdown/pytest-report.json | 2 +- ci-reports/markdown/runtime_params.json | 2 +- 4 files changed, 1092 insertions(+), 460 deletions(-) diff --git a/ci-reports/markdown/TEST-REPORT.md b/ci-reports/markdown/TEST-REPORT.md index 04c8bb66..93384bd7 100644 --- a/ci-reports/markdown/TEST-REPORT.md +++ b/ci-reports/markdown/TEST-REPORT.md @@ -1,8 +1,640 @@ +โ“ **Unknown pytest exit code: 1** + +> Unexpected result during test execution. + +
+๐Ÿ“‹ Short test summary info + +```python +=========================== short test summary info ============================ +FAILED tests/test_io_utils.py::test_cause_io_error - OSError: Forced IO Error for testing +FAILED tests/test_io_utils.py::test_file_not_found - FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.file' +FAILED tests/test_io_utils.py::test_permission_error - PermissionError: Permission denied +FAILED tests/test_io_utils.py::test_mock_open_error - OSError: Mocked IOError +FAILED tests/test_io_utils.py::test_file_handle_closed_error - ValueError: I/O operation on closed file +FAILED tests/test_io_utils.py::test_os_error - OSError: Simulated OSError +FAILED tests/test_io_utils.py::test_file_not_found_error - FileNotFoundError: [Errno 2] No such file or directory: 'no_such_file.txt' +FAILED tests/test_math_utils.py::test_broken - NameError: name 'want_the_test_to_fail' is not defined +FAILED tests/test_math_utils.py::test_call_missing_function - AttributeError: module 'functions.math_utils' has no attribute 'non_existent_function' +FAILED tests/test_math_utils.py::test_addition_fail - assert 4 == 5 + + where 4 = addition(2, 2) +FAILED tests/test_math_utils.py::test_division_zero - ZeroDivisionError: division by zero +FAILED tests/test_math_utils.py::test_runtime_error - RuntimeError: Forced runtime error +FAILED tests/test_math_utils.py::test_memory_error - MemoryError: Simulated memory error +FAILED tests/test_math_utils.py::test_timeout_error - TimeoutError: Simulated timeout error +FAILED tests/test_math_utils.py::test_recursion_error - RecursionError: maximum recursion depth exceeded +FAILED tests/test_math_utils.py::test_floating_point_error - FloatingPointError: Simulated floating point error +FAILED tests/test_math_utils.py::test_floating_point_overflow - OverflowError: math range error +FAILED tests/test_math_utils.py::test_value_error - ValueError: invalid literal for int() with base 10: 'invalid' +FAILED tests/test_math_utils.py::test_wrong_argument_error - TypeError: 'int' object is not iterable +FAILED tests/test_math_utils.py::test_unhandled_exception - Exception: Generic unhandled exception +FAILED tests/test_math_utils.py::test_custom_error - test_math_utils.CustomError: Custom error simulation +FAILED tests/test_math_utils.py::test_stop_iteration_direct - RuntimeError: generator raised StopIteration +FAILED tests/test_math_utils.py::test_generator_exit_direct - GeneratorExit +FAILED tests/test_math_utils.py::test_malformed_code - File "", line 1 + def bad(: + ^ +SyntaxError: invalid syntax +FAILED tests/test_math_utils.py::test_sys_exit - SystemExit: 1 +FAILED tests/test_math_utils.py::test_broken_function - TypeError: Broken function +FAILED tests/test_math_utils.py::test_import_error - ImportError: Simulated ImportError +FAILED tests/test_math_utils.py::test_module_not_found_error - ModuleNotFoundError: No module named 'non_existent_module_xyz' +FAILED tests/test_param.py::test_sum_positive[edge] - assert (-1 + -1) >= 0 +FAILED tests/test_param.py::test_addition - NameError: name 'addition' is not defined +FAILED tests/test_string_utils.py::test_uppercase_type_error - TypeError: Input cannot be None +FAILED tests/test_string_utils.py::test_unicode_decode_error - UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte +FAILED tests/test_string_utils.py::test_unicode_decode_surrogateescape - UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte +ERROR tests/test_broken_fct.py +ERROR tests/test_collector_error.py +ERROR tests/test_param.py::test_basic_error +== 33 failed, 37 passed, 1 skipped, 2 xfailed, 2 warnings, 3 errors in 0.68s === +``` +
+ +
+๐Ÿชต Full raw pytest log + +```python +============================= 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, html-4.1.1, cov-5.0.0, allure-pytest-2.13.5, json-report-1.5.0 +collected 74 items / 2 errors + +tests/test_io_utils.py ..FFFFFF.F +tests/test_math_utils.py FF........FFxFFFFFFFFFFFFFFFFF +tests/test_param.py ...s.......F............FE +tests/test_string_utils.py .F..FF.x + +==================================== ERRORS ==================================== +__________________ ERROR collecting tests/test_broken_fct.py ___________________ +.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 +________________ ERROR collecting tests/test_collector_error.py ________________ +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' +______________________ ERROR at setup of test_basic_error ______________________ +file /workspace/tligui_y/slic/tests/test_param.py, line 100 + def test_basic_error(x): +E fixture 'x' not found +> available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, complex_setup, cov, doctest_namespace, element, extra, extras, include_metadata_in_junit_xml, json_metadata, metadata, monkeypatch, no_cover, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory +> use 'pytest --fixtures [testpath]' for help on them. + +/workspace/tligui_y/slic/tests/test_param.py:100 +=================================== FAILURES =================================== +_____________________________ test_cause_io_error ______________________________ + + 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 +_____________________________ test_file_not_found ______________________________ + + 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 +____________________________ test_permission_error _____________________________ + +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f94644dd880> + + 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 +_____________________________ test_mock_open_error _____________________________ + +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f946688ee20> + + 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 +________________________ test_file_handle_closed_error _________________________ + + def test_file_handle_closed_error(): + # Accessing closed file raises ValueError + f = io.StringIO("content") + f.close() +> f.read() +E ValueError: I/O operation on closed file + +tests/test_io_utils.py:50: ValueError +________________________________ test_os_error _________________________________ + +monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f94643b4670> + + 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 +__________________________ test_file_not_found_error ___________________________ + + def test_file_not_found_error(): + # Raises FileNotFoundError when opening a non-existent file +> open("no_such_file.txt", "r") +E FileNotFoundError: [Errno 2] No such file or directory: 'no_such_file.txt' + +tests/test_io_utils.py:70: FileNotFoundError +_________________________________ test_broken __________________________________ + + def test_broken(): + # simulating a broken or faulty test implementation that will cause the test to error +> want_the_test_to_fail +E NameError: name 'want_the_test_to_fail' is not defined + +tests/test_math_utils.py:16: NameError +__________________________ test_call_missing_function __________________________ + + def test_call_missing_function(): + # Accessing a missing function attribute raises AttributeError +> getattr(math_utils, "non_existent_function")() +E AttributeError: module 'functions.math_utils' has no attribute 'non_existent_function' + +tests/test_math_utils.py:20: AttributeError +______________________________ test_addition_fail ______________________________ + + def test_addition_fail(): + # Assertion failure: expected incorrect result +> assert addition(2, 2) == 5 +E assert 4 == 5 +E + where 4 = addition(2, 2) + +tests/test_math_utils.py:51: AssertionError +______________________________ test_division_zero ______________________________ + + 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 +______________________________ test_runtime_error ______________________________ + + def test_runtime_error(): + # Test raises an uncaught RuntimeError +> raise RuntimeError("Forced runtime error") +E RuntimeError: Forced runtime error + +tests/test_math_utils.py:64: RuntimeError +______________________________ test_memory_error _______________________________ + + def test_memory_error(): + # Manually raise MemoryError to simulate out-of-memory condition +> raise MemoryError("Simulated memory error") +E MemoryError: Simulated memory error + +tests/test_math_utils.py:68: MemoryError +______________________________ test_timeout_error ______________________________ + + def test_timeout_error(): + # Manually raise TimeoutError simulating timeout conditions +> raise TimeoutError("Simulated timeout error") +E TimeoutError: Simulated timeout error + +tests/test_math_utils.py:72: TimeoutError +_____________________________ test_recursion_error _____________________________ + + 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) +__________________________ test_floating_point_error ___________________________ + + def test_floating_point_error(): + # Manually raise FloatingPointError +> raise FloatingPointError("Simulated floating point error") +E FloatingPointError: Simulated floating point error + +tests/test_math_utils.py:82: FloatingPointError +_________________________ test_floating_point_overflow _________________________ + + def test_floating_point_overflow(): + # Exponential overflow triggers OverflowError +> math.exp(1000) +E OverflowError: math range error + +tests/test_math_utils.py:86: OverflowError +_______________________________ test_value_error _______________________________ + + def test_value_error(): + # ValueError on invalid integer conversion +> int("invalid") +E ValueError: invalid literal for int() with base 10: 'invalid' + +tests/test_math_utils.py:90: ValueError +__________________________ test_wrong_argument_error ___________________________ + + def test_wrong_argument_error(): + # TypeError when passing wrong argument type to sum +> sum(5) +E TypeError: 'int' object is not iterable + +tests/test_math_utils.py:94: TypeError +___________________________ test_unhandled_exception ___________________________ + + def test_unhandled_exception(): + # Raises generic unhandled Exception +> raise Exception("Generic unhandled exception") +E Exception: Generic unhandled exception + +tests/test_math_utils.py:98: Exception +______________________________ test_custom_error _______________________________ + + def test_custom_error(): + # Raises user-defined CustomError exception +> raise CustomError("Custom error simulation") +E test_math_utils.CustomError: Custom error simulation + +tests/test_math_utils.py:102: CustomError +__________________________ test_stop_iteration_direct __________________________ + + 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 0x7f9464578670> +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 +__________________________ test_generator_exit_direct __________________________ + + def test_generator_exit_direct(): + # Directly raise GeneratorExit exception +> raise GeneratorExit() +E GeneratorExit + +tests/test_math_utils.py:110: GeneratorExit +_____________________________ test_malformed_code ______________________________ + + 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 +________________________________ test_sys_exit _________________________________ + + def test_sys_exit(): + # Simulate SystemExit via sys.exit +> sys.exit(1) +E SystemExit: 1 + +tests/test_math_utils.py:118: SystemExit +_____________________________ test_broken_function _____________________________ + + 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 +______________________________ test_import_error _______________________________ + + def test_import_error(): + # Directly raise ImportError exception +> raise ImportError("Simulated ImportError") +E ImportError: Simulated ImportError + +tests/test_math_utils.py:128: ImportError +_________________________ test_module_not_found_error __________________________ + + def test_module_not_found_error(): + # Raises ModuleNotFoundError (subclass of ImportError) for missing module +> importlib.import_module("non_existent_module_xyz") + +tests/test_math_utils.py:132: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +.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 +___________________________ test_sum_positive[edge] ____________________________ + +x = -1, y = -1 + + @pytest.mark.parametrize("x, y", [(param["x"], param["y"]) for _, param in scenarios], ids=[name for name, _ in scenarios]) + def test_sum_positive(x, y): +> assert (x + y) >= 0 +E assert (-1 + -1) >= 0 + +tests/test_param.py:58: AssertionError +________________________________ test_addition _________________________________ + +a = 5, b = 5, expected = 10 + + def test_addition(a = 5, b = 5, expected = 10): + # Has to pass +> assert addition(a, b) == expected +E NameError: name 'addition' is not defined + +tests/test_param.py:97: NameError +__________________________ test_uppercase_type_error ___________________________ + + def test_uppercase_type_error(): + # TypeError when input is None (invalid input) +> uppercase(None) + +tests/test_string_utils.py:16: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +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 +__________________________ test_unicode_decode_error ___________________________ + + def test_unicode_decode_error(): + # UnicodeDecodeError when decoding invalid byte sequence +> b'\xff'.decode('utf-8') +E UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte + +tests/test_string_utils.py:28: UnicodeDecodeError +_____________________ test_unicode_decode_surrogateescape ______________________ + + def test_unicode_decode_surrogateescape(): + # UnicodeDecodeError with strict error handler on invalid byte +> b"\x80".decode("utf-8", errors="strict") +E UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte + +tests/test_string_utils.py:32: UnicodeDecodeError +=============================== warnings summary =============================== +tests/test_string_utils.py::test_warning_emit + /workspace/tligui_y/slic/tests/test_string_utils.py:24: UserWarning: Test warning + warnings.warn("Test warning", UserWarning) + +tests/test_string_utils.py::test_syntax_warning + /workspace/tligui_y/slic/tests/test_string_utils.py:36: SyntaxWarning: This is a syntax warning + warnings.warn("This is a syntax warning", SyntaxWarning) + +-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html +--------------------------------- JSON report ---------------------------------- +report saved to: ci-reports/markdown/pytest-report.json + +---------- coverage: platform linux, python 3.8.20-final-0 ----------- +Coverage HTML written to dir ci-reports/coverage/ +Coverage XML written to file ci-reports/coverage/coverage.xml + +=========================== short test summary info ============================ +FAILED tests/test_io_utils.py::test_cause_io_error - OSError: Forced IO Error for testing +FAILED tests/test_io_utils.py::test_file_not_found - FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.file' +FAILED tests/test_io_utils.py::test_permission_error - PermissionError: Permission denied +FAILED tests/test_io_utils.py::test_mock_open_error - OSError: Mocked IOError +FAILED tests/test_io_utils.py::test_file_handle_closed_error - ValueError: I/O operation on closed file +FAILED tests/test_io_utils.py::test_os_error - OSError: Simulated OSError +FAILED tests/test_io_utils.py::test_file_not_found_error - FileNotFoundError: [Errno 2] No such file or directory: 'no_such_file.txt' +FAILED tests/test_math_utils.py::test_broken - NameError: name 'want_the_test_to_fail' is not defined +FAILED tests/test_math_utils.py::test_call_missing_function - AttributeError: module 'functions.math_utils' has no attribute 'non_existent_function' +FAILED tests/test_math_utils.py::test_addition_fail - assert 4 == 5 + + where 4 = addition(2, 2) +FAILED tests/test_math_utils.py::test_division_zero - ZeroDivisionError: division by zero +FAILED tests/test_math_utils.py::test_runtime_error - RuntimeError: Forced runtime error +FAILED tests/test_math_utils.py::test_memory_error - MemoryError: Simulated memory error +FAILED tests/test_math_utils.py::test_timeout_error - TimeoutError: Simulated timeout error +FAILED tests/test_math_utils.py::test_recursion_error - RecursionError: maximum recursion depth exceeded +FAILED tests/test_math_utils.py::test_floating_point_error - FloatingPointError: Simulated floating point error +FAILED tests/test_math_utils.py::test_floating_point_overflow - OverflowError: math range error +FAILED tests/test_math_utils.py::test_value_error - ValueError: invalid literal for int() with base 10: 'invalid' +FAILED tests/test_math_utils.py::test_wrong_argument_error - TypeError: 'int' object is not iterable +FAILED tests/test_math_utils.py::test_unhandled_exception - Exception: Generic unhandled exception +FAILED tests/test_math_utils.py::test_custom_error - test_math_utils.CustomError: Custom error simulation +FAILED tests/test_math_utils.py::test_stop_iteration_direct - RuntimeError: generator raised StopIteration +FAILED tests/test_math_utils.py::test_generator_exit_direct - GeneratorExit +FAILED tests/test_math_utils.py::test_malformed_code - File "", line 1 + def bad(: + ^ +SyntaxError: invalid syntax +FAILED tests/test_math_utils.py::test_sys_exit - SystemExit: 1 +FAILED tests/test_math_utils.py::test_broken_function - TypeError: Broken function +FAILED tests/test_math_utils.py::test_import_error - ImportError: Simulated ImportError +FAILED tests/test_math_utils.py::test_module_not_found_error - ModuleNotFoundError: No module named 'non_existent_module_xyz' +FAILED tests/test_param.py::test_sum_positive[edge] - assert (-1 + -1) >= 0 +FAILED tests/test_param.py::test_addition - NameError: name 'addition' is not defined +FAILED tests/test_string_utils.py::test_uppercase_type_error - TypeError: Input cannot be None +FAILED tests/test_string_utils.py::test_unicode_decode_error - UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte +FAILED tests/test_string_utils.py::test_unicode_decode_surrogateescape - UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte +ERROR tests/test_broken_fct.py +ERROR tests/test_collector_error.py +ERROR tests/test_param.py::test_basic_error +== 33 failed, 37 passed, 1 skipped, 2 xfailed, 2 warnings, 3 errors in 0.68s === +``` +
+ +--- + # ๐Ÿงช Test Report -*Generated on 2025-07-21 10:47:56 CEST* +*Generated on 2025-07-21 10:55:06 CEST* ## ๐Ÿงพ General Info -- **duration**: 0.5865132808685303 +- **duration**: 0.6685476303100586 - **root**: /workspace/tligui_y/slic - **environment**: {} @@ -32,7 +664,7 @@ **duration:** ```python - 0.003428531112149358 + 0.003856702009215951 ``` **outcome:** @@ -46,7 +678,7 @@ **duration:** ```python - 0.0004314000252634287 + 0.0005525858141481876 ``` **outcome:** @@ -60,7 +692,7 @@ **duration:** ```python - 0.0002483499702066183 + 0.00030047004111111164 ``` **outcome:** @@ -78,7 +710,7 @@ **duration:** ```python - 0.0004535750485956669 + 0.0005150521174073219 ``` **outcome:** @@ -92,7 +724,7 @@ **duration:** ```python - 0.00029062386602163315 + 0.0003016199916601181 ``` **outcome:** @@ -106,7 +738,7 @@ **duration:** ```python - 0.0001445699017494917 + 0.00013776496052742004 ``` **outcome:** @@ -124,7 +756,7 @@ **duration:** ```python - 0.0006845961324870586 + 0.0006900650914758444 ``` **outcome:** @@ -138,7 +770,7 @@ **duration:** ```python - 0.0009522500913590193 + 0.0009528270456939936 ``` **outcome:** @@ -152,7 +784,7 @@ **duration:** ```python - 0.00015838607214391232 + 0.00016214605420827866 ``` **outcome:** @@ -185,7 +817,7 @@ **duration:** ```python - 0.00030992995016276836 + 0.0003491109237074852 ``` **outcome:** @@ -199,7 +831,7 @@ **duration:** ```python - 0.00014565791934728622 + 0.0001570531167089939 ``` **outcome:** @@ -213,7 +845,7 @@ **duration:** ```python - 0.00015012500807642937 + 0.00015607522800564766 ``` **outcome:** @@ -240,7 +872,7 @@ **duration:** ```python - 0.00025536795146763325 + 0.00026477500796318054 ``` **outcome:** @@ -254,7 +886,7 @@ **duration:** ```python - 0.00014866888523101807 + 0.00014081993140280247 ``` **outcome:** @@ -268,7 +900,7 @@ **duration:** ```python - 0.00014038500376045704 + 0.00015572807751595974 ``` **outcome:** @@ -295,7 +927,7 @@ **duration:** ```python - 0.00024071987718343735 + 0.0002384418621659279 ``` **outcome:** @@ -309,7 +941,7 @@ **duration:** ```python - 0.00013635307550430298 + 0.00012684985995292664 ``` **outcome:** @@ -323,7 +955,7 @@ **duration:** ```python - 0.00013328692875802517 + 0.0001454218290746212 ``` **outcome:** @@ -350,7 +982,7 @@ **duration:** ```python - 0.0002323170192539692 + 0.0002366490662097931 ``` **outcome:** @@ -364,7 +996,7 @@ **duration:** ```python - 0.00013921898789703846 + 0.00013164803385734558 ``` **outcome:** @@ -378,7 +1010,7 @@ **duration:** ```python - 0.00013553816825151443 + 0.00014750403352081776 ``` **outcome:** @@ -405,7 +1037,7 @@ **duration:** ```python - 0.0002423140686005354 + 0.00024665682576596737 ``` **outcome:** @@ -419,7 +1051,7 @@ **duration:** ```python - 0.00013125804252922535 + 0.00013206806033849716 ``` **outcome:** @@ -433,7 +1065,7 @@ **duration:** ```python - 0.0001350699458271265 + 0.00013701897114515305 ``` **outcome:** @@ -461,7 +1093,7 @@ **duration:** ```python - 0.00023363297805190086 + 0.0002676299773156643 ``` **outcome:** @@ -475,7 +1107,7 @@ **duration:** ```python - 0.00012576114386320114 + 0.00012983707711100578 ``` **outcome:** @@ -489,7 +1121,7 @@ **duration:** ```python - 0.0001364590134471655 + 0.00014057080261409283 ``` **outcome:** @@ -516,7 +1148,7 @@ **duration:** ```python - 0.00023854197934269905 + 0.00024703494273126125 ``` **outcome:** @@ -530,7 +1162,7 @@ **duration:** ```python - 0.00012773904018104076 + 0.00013828417286276817 ``` **outcome:** @@ -544,7 +1176,7 @@ **duration:** ```python - 0.0001322960015386343 + 0.00013383198529481888 ``` **outcome:** @@ -571,7 +1203,7 @@ **duration:** ```python - 0.00024613714776933193 + 0.00023342808708548546 ``` **outcome:** @@ -585,7 +1217,7 @@ **duration:** ```python - 0.00013018911704421043 + 0.00013335701078176498 ``` **outcome:** @@ -599,7 +1231,7 @@ **duration:** ```python - 0.00014120107516646385 + 0.00014397618360817432 ``` **outcome:** @@ -630,7 +1262,7 @@ **duration:** ```python - 0.0002511159982532263 + 0.00030287005938589573 ``` **outcome:** @@ -644,7 +1276,7 @@ **duration:** ```python - 0.00013981712982058525 + 0.00015990808606147766 ``` **outcome:** @@ -658,7 +1290,7 @@ **duration:** ```python - 0.00013118796050548553 + 0.00013053696602582932 ``` **outcome:** @@ -683,7 +1315,7 @@ **duration:** ```python - 0.00018339906819164753 + 0.00019052880816161633 ``` **outcome:** @@ -697,7 +1329,7 @@ **duration:** ```python - 0.00013373605906963348 + 0.0001276989933103323 ``` **outcome:** @@ -711,7 +1343,7 @@ **duration:** ```python - 0.00011961697600781918 + 0.00011281715705990791 ``` **outcome:** @@ -737,7 +1369,7 @@ **duration:** ```python - 0.00016549089923501015 + 0.00016922783106565475 ``` **outcome:** @@ -751,7 +1383,7 @@ **duration:** ```python - 0.00012395507656037807 + 0.0001225820742547512 ``` **outcome:** @@ -765,7 +1397,7 @@ **duration:** ```python - 0.00011027185246348381 + 0.00011446606367826462 ``` **outcome:** @@ -792,7 +1424,7 @@ **duration:** ```python - 0.00023847399279475212 + 0.00022603501565754414 ``` **outcome:** @@ -806,7 +1438,7 @@ **duration:** ```python - 0.00012814300134778023 + 0.00013117492198944092 ``` **outcome:** @@ -820,7 +1452,7 @@ **duration:** ```python - 0.0001284969039261341 + 0.00013003195635974407 ``` **outcome:** @@ -846,7 +1478,7 @@ **duration:** ```python - 0.00020979996770620346 + 0.00020632101222872734 ``` **outcome:** @@ -860,7 +1492,7 @@ **duration:** ```python - 0.00012306193821132183 + 0.00012446008622646332 ``` **outcome:** @@ -874,7 +1506,7 @@ **duration:** ```python - 0.0001283818855881691 + 0.00012199394404888153 ``` **outcome:** @@ -885,13 +1517,13 @@ โ†ณ Function: test_non_literal_with_id -
- โœ… Test 47
(params: data=(object object at 0x7ff957cb4510))
+ โœ… Test 47
(params: data=(object object at 0x7f94677b7d40))
**_*๐Ÿ“Œ Runtime Parameters*_** ```python params: - data: + data: id: custom-obj ``` @@ -900,7 +1532,7 @@ **duration:** ```python - 0.00016997219063341618 + 0.00015409104526042938 ``` **outcome:** @@ -914,7 +1546,7 @@ **duration:** ```python - 0.00012402702122926712 + 0.00012291595339775085 ``` **outcome:** @@ -928,7 +1560,7 @@ **duration:** ```python - 0.00011050188913941383 + 0.00011948402971029282 ``` **outcome:** @@ -956,7 +1588,7 @@ **duration:** ```python - 0.0002366218250244856 + 0.0002501499839127064 ``` **outcome:** @@ -970,7 +1602,7 @@ **duration:** ```python - 0.00012349803000688553 + 0.00012988108210265636 ``` **outcome:** @@ -984,7 +1616,7 @@ **duration:** ```python - 0.00015642191283404827 + 0.00013508694246411324 ``` **outcome:** @@ -1011,7 +1643,7 @@ **duration:** ```python - 0.0002494659274816513 + 0.0002412470057606697 ``` **outcome:** @@ -1025,7 +1657,7 @@ **duration:** ```python - 0.00012447196058928967 + 0.00012941891327500343 ``` **outcome:** @@ -1039,7 +1671,7 @@ **duration:** ```python - 0.00014030607417225838 + 0.00013470486737787724 ``` **outcome:** @@ -1066,7 +1698,7 @@ **duration:** ```python - 0.00021565798670053482 + 0.00019600195810198784 ``` **outcome:** @@ -1080,7 +1712,7 @@ **duration:** ```python - 0.0001252838410437107 + 0.00012511108070611954 ``` **outcome:** @@ -1094,7 +1726,7 @@ **duration:** ```python - 0.0001224200241267681 + 0.00012852298095822334 ``` **outcome:** @@ -1120,7 +1752,7 @@ **duration:** ```python - 0.00019473489373922348 + 0.00020308000966906548 ``` **outcome:** @@ -1134,7 +1766,7 @@ **duration:** ```python - 0.0001250097993761301 + 0.00012640096247196198 ``` **outcome:** @@ -1148,7 +1780,7 @@ **duration:** ```python - 0.00013071601279079914 + 0.00012288708239793777 ``` **outcome:** @@ -1174,7 +1806,7 @@ **duration:** ```python - 0.00018359487876296043 + 0.00022013788111507893 ``` **outcome:** @@ -1188,7 +1820,7 @@ **duration:** ```python - 0.00014875712804496288 + 0.00013730092905461788 ``` **outcome:** @@ -1202,7 +1834,7 @@ **duration:** ```python - 0.00012103421613574028 + 0.00011878111399710178 ``` **outcome:** @@ -1227,7 +1859,7 @@ **duration:** ```python - 0.000161327188834548 + 0.00017153983935713768 ``` **outcome:** @@ -1241,7 +1873,7 @@ **duration:** ```python - 0.00012255203910171986 + 0.0001276661641895771 ``` **outcome:** @@ -1255,7 +1887,7 @@ **duration:** ```python - 0.00011322088539600372 + 0.00011377804912626743 ``` **outcome:** @@ -1280,7 +1912,7 @@ **duration:** ```python - 0.00016561103984713554 + 0.0001703309826552868 ``` **outcome:** @@ -1294,7 +1926,7 @@ **duration:** ```python - 0.00011829310096800327 + 0.00012177298776805401 ``` **outcome:** @@ -1308,7 +1940,7 @@ **duration:** ```python - 0.00011184508912265301 + 0.00011164089664816856 ``` **outcome:** @@ -1334,7 +1966,7 @@ **duration:** ```python - 0.00015774089843034744 + 0.00016881991177797318 ``` **outcome:** @@ -1348,7 +1980,7 @@ **duration:** ```python - 0.00012398092076182365 + 0.00012758001685142517 ``` **outcome:** @@ -1362,7 +1994,7 @@ **duration:** ```python - 0.00011968589387834072 + 0.00011368002742528915 ``` **outcome:** @@ -1387,7 +2019,7 @@ **duration:** ```python - 0.00016193301416933537 + 0.000160672003403306 ``` **outcome:** @@ -1401,7 +2033,7 @@ **duration:** ```python - 0.00011985516175627708 + 0.0001292959786951542 ``` **outcome:** @@ -1415,7 +2047,7 @@ **duration:** ```python - 0.00010844203643500805 + 0.00010977592319250107 ``` **outcome:** @@ -1440,7 +2072,7 @@ **duration:** ```python - 0.00015816092491149902 + 0.0001558938529342413 ``` **outcome:** @@ -1454,7 +2086,7 @@ **duration:** ```python - 0.00012947502546012402 + 0.00011727004311978817 ``` **outcome:** @@ -1468,7 +2100,7 @@ **duration:** ```python - 0.00011123507283627987 + 0.00010814913548529148 ``` **outcome:** @@ -1495,7 +2127,7 @@ **duration:** ```python - 0.00021074782125651836 + 0.00020664697512984276 ``` **outcome:** @@ -1509,7 +2141,7 @@ **duration:** ```python - 0.00012165913358330727 + 0.000125381862744689 ``` **outcome:** @@ -1523,7 +2155,7 @@ **duration:** ```python - 0.00012376694940030575 + 0.0001253338996320963 ``` **outcome:** @@ -1549,7 +2181,7 @@ **duration:** ```python - 0.00021684984676539898 + 0.0002031268086284399 ``` **outcome:** @@ -1563,7 +2195,7 @@ **duration:** ```python - 0.00012664217501878738 + 0.00012786989100277424 ``` **outcome:** @@ -1577,7 +2209,7 @@ **duration:** ```python - 0.00012422003783285618 + 0.0001281260047107935 ``` **outcome:** @@ -1603,7 +2235,7 @@ **duration:** ```python - 0.00020368513651192188 + 0.0002031121402978897 ``` **outcome:** @@ -1617,7 +2249,7 @@ **duration:** ```python - 0.00012206495739519596 + 0.0001228759065270424 ``` **outcome:** @@ -1631,7 +2263,7 @@ **duration:** ```python - 0.00012804614380002022 + 0.0001269560307264328 ``` **outcome:** @@ -1657,7 +2289,7 @@ **duration:** ```python - 0.0002135110553354025 + 0.00020456896163523197 ``` **outcome:** @@ -1671,7 +2303,7 @@ **duration:** ```python - 0.0001281748991459608 + 0.00012529105879366398 ``` **outcome:** @@ -1685,7 +2317,7 @@ **duration:** ```python - 0.00012489408254623413 + 0.00013327295891940594 ``` **outcome:** @@ -1711,7 +2343,7 @@ **duration:** ```python - 0.0001582619734108448 + 0.00017057592049241066 ``` **outcome:** @@ -1725,7 +2357,7 @@ **duration:** ```python - 0.00012853601947426796 + 0.00012337509542703629 ``` **outcome:** @@ -1739,7 +2371,7 @@ **duration:** ```python - 0.00011244602501392365 + 0.00012849201448261738 ``` **outcome:** @@ -1764,7 +2396,7 @@ **duration:** ```python - 0.0001595909707248211 + 0.00016891304403543472 ``` **outcome:** @@ -1778,7 +2410,7 @@ **duration:** ```python - 0.00013073207810521126 + 0.00012408103793859482 ``` **outcome:** @@ -1792,7 +2424,7 @@ **duration:** ```python - 0.00011006207205355167 + 0.00011088117025792599 ``` **outcome:** @@ -1815,7 +2447,7 @@ **duration:** ```python - 0.00012152898125350475 + 0.00013894401490688324 ``` **outcome:** @@ -1829,7 +2461,7 @@ **duration:** ```python - 0.00014365208335220814 + 0.00016196700744330883 ``` **outcome:** @@ -1843,7 +2475,7 @@ **duration:** ```python - 0.00010572187602519989 + 0.000116321025416255 ``` **outcome:** @@ -1861,7 +2493,7 @@ **duration:** ```python - 0.00011941185221076012 + 0.00013541383668780327 ``` **outcome:** @@ -1875,7 +2507,7 @@ **duration:** ```python - 0.00015450711362063885 + 0.0001455480232834816 ``` **outcome:** @@ -1889,7 +2521,7 @@ **duration:** ```python - 0.000103397062048316 + 0.00010279309935867786 ``` **outcome:** @@ -1907,7 +2539,7 @@ **duration:** ```python - 0.00011576199904084206 + 0.00010557216592133045 ``` **outcome:** @@ -1921,7 +2553,7 @@ **duration:** ```python - 0.00014197500422596931 + 0.00014668190851807594 ``` **outcome:** @@ -1935,7 +2567,7 @@ **duration:** ```python - 9.577791206538677e-05 + 9.596208110451698e-05 ``` **outcome:** @@ -1953,7 +2585,7 @@ **duration:** ```python - 0.00011507398448884487 + 0.0001352860126644373 ``` **outcome:** @@ -1967,7 +2599,7 @@ **duration:** ```python - 0.00013995100744068623 + 0.00017297198064625263 ``` **outcome:** @@ -1981,7 +2613,7 @@ **duration:** ```python - 0.00010072696022689342 + 0.0001225820742547512 ``` **outcome:** @@ -2009,7 +2641,7 @@ **duration:** ```python - 0.0001175908837467432 + 0.00014378386549651623 ``` **outcome:** @@ -2023,7 +2655,7 @@ **duration:** ```python - 0.0001598659437149763 + 0.00016592885367572308 ``` **outcome:** @@ -2073,7 +2705,7 @@ **duration:** ```python - 0.00014439295046031475 + 0.00016856100410223007 ``` **outcome:** @@ -2091,7 +2723,7 @@ **duration:** ```python - 0.00012168195098638535 + 0.00014707818627357483 ``` **outcome:** @@ -2105,7 +2737,7 @@ **duration:** ```python - 0.00021681701764464378 + 0.00019746506586670876 ``` **outcome:** @@ -2157,7 +2789,7 @@ **duration:** ```python - 0.00014150794595479965 + 0.00015362398698925972 ``` **outcome:** @@ -2175,7 +2807,7 @@ **duration:** ```python - 0.00020749703980982304 + 0.0002510719932615757 ``` **outcome:** @@ -2189,7 +2821,7 @@ **duration:** ```python - 0.00019495701417326927 + 0.0001884701196104288 ``` **outcome:** @@ -2223,7 +2855,7 @@ **longrepr:** ```python - monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7ff954d96a90> + monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f94644dd880> def test_permission_error(monkeypatch): # Patch open to raise PermissionError simulating access denial @@ -2252,7 +2884,7 @@ **duration:** ```python - 0.0001847089733928442 + 0.00019052904099225998 ``` **outcome:** @@ -2270,7 +2902,7 @@ **duration:** ```python - 0.00019870512187480927 + 0.00023749214597046375 ``` **outcome:** @@ -2284,7 +2916,7 @@ **duration:** ```python - 0.0033467928878962994 + 0.0034683060366660357 ``` **outcome:** @@ -2321,7 +2953,7 @@ **longrepr:** ```python - monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7ff956da9910> + monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f946688ee20> def test_mock_open_error(monkeypatch): # Mock open() to raise IOError simulating read error @@ -2338,7 +2970,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): @@ -2359,7 +2991,7 @@ **duration:** ```python - 0.0003256530035287142 + 0.00032648886553943157 ``` **outcome:** @@ -2377,7 +3009,7 @@ **duration:** ```python - 0.0001424949150532484 + 0.00015577487647533417 ``` **outcome:** @@ -2391,7 +3023,7 @@ **duration:** ```python - 0.0001996729988604784 + 0.0001971579622477293 ``` **outcome:** @@ -2434,7 +3066,7 @@ **duration:** ```python - 0.00019459589384496212 + 0.00019021681509912014 ``` **outcome:** @@ -2452,7 +3084,7 @@ **duration:** ```python - 0.00025272113271057606 + 0.0002492191269993782 ``` **outcome:** @@ -2466,7 +3098,7 @@ **duration:** ```python - 0.0002043719869107008 + 0.0001999561209231615 ``` **outcome:** @@ -2497,7 +3129,7 @@ **longrepr:** ```python - monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7ff954edcd90> + monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f94643b4670> def test_os_error(monkeypatch): # Patch os.remove to raise OSError simulating filesystem error @@ -2523,7 +3155,7 @@ **duration:** ```python - 0.00020262203179299831 + 0.00022182799875736237 ``` **outcome:** @@ -2541,7 +3173,7 @@ **duration:** ```python - 0.00011672102846205235 + 0.00012068403884768486 ``` **outcome:** @@ -2555,7 +3187,7 @@ **duration:** ```python - 0.00018960703164339066 + 0.00017758202739059925 ``` **outcome:** @@ -2596,7 +3228,7 @@ **duration:** ```python - 0.00015033897943794727 + 0.0001577709335833788 ``` **outcome:** @@ -2619,7 +3251,7 @@ **duration:** ```python - 0.00013489392586052418 + 0.00013847299851477146 ``` **outcome:** @@ -2633,7 +3265,7 @@ **duration:** ```python - 0.00016663200221955776 + 0.00016208901070058346 ``` **outcome:** @@ -2674,7 +3306,7 @@ **duration:** ```python - 0.00014022295363247395 + 0.00015345308929681778 ``` **outcome:** @@ -2692,7 +3324,7 @@ **duration:** ```python - 0.00011768797412514687 + 0.00012953300029039383 ``` **outcome:** @@ -2706,7 +3338,7 @@ **duration:** ```python - 0.00018336297944188118 + 0.0001620680559426546 ``` **outcome:** @@ -2747,7 +3379,7 @@ **duration:** ```python - 0.0001422809436917305 + 0.00014879601076245308 ``` **outcome:** @@ -2765,7 +3397,7 @@ **duration:** ```python - 0.0001035409513860941 + 0.00010456587187945843 ``` **outcome:** @@ -2779,7 +3411,7 @@ **duration:** ```python - 0.00044970400631427765 + 0.0005118260160088539 ``` **outcome:** @@ -2822,7 +3454,7 @@ **duration:** ```python - 0.0001377798616886139 + 0.00015070312656462193 ``` **outcome:** @@ -2840,7 +3472,7 @@ **duration:** ```python - 0.0001165799330919981 + 0.00011925492435693741 ``` **outcome:** @@ -2854,7 +3486,7 @@ **duration:** ```python - 0.00015489105135202408 + 0.0001610228791832924 ``` **outcome:** @@ -2906,7 +3538,7 @@ **duration:** ```python - 0.00013869302347302437 + 0.00014154007658362389 ``` **outcome:** @@ -2924,7 +3556,7 @@ **duration:** ```python - 0.00011729286052286625 + 0.00011783698573708534 ``` **outcome:** @@ -2938,7 +3570,7 @@ **duration:** ```python - 0.0001452991273254156 + 0.00015410804189741611 ``` **outcome:** @@ -2979,7 +3611,7 @@ **duration:** ```python - 0.0001372720580548048 + 0.0001396690495312214 ``` **outcome:** @@ -2997,7 +3629,7 @@ **duration:** ```python - 0.00011983397416770458 + 0.00011826399713754654 ``` **outcome:** @@ -3011,7 +3643,7 @@ **duration:** ```python - 0.00016075978055596352 + 0.00015084585174918175 ``` **outcome:** @@ -3052,7 +3684,7 @@ **duration:** ```python - 0.0001388478558510542 + 0.00013838405720889568 ``` **outcome:** @@ -3070,7 +3702,7 @@ **duration:** ```python - 0.00011830311268568039 + 0.0001208130270242691 ``` **outcome:** @@ -3084,7 +3716,7 @@ **duration:** ```python - 0.00014865491539239883 + 0.00016775494441390038 ``` **outcome:** @@ -3125,7 +3757,7 @@ **duration:** ```python - 0.00013472791761159897 + 0.00014156592078506947 ``` **outcome:** @@ -3143,7 +3775,7 @@ **duration:** ```python - 0.00012422585859894753 + 0.00012254598550498486 ``` **outcome:** @@ -3157,7 +3789,7 @@ **duration:** ```python - 0.0008279480971395969 + 0.0008121260907500982 ``` **outcome:** @@ -3212,7 +3844,7 @@ **duration:** ```python - 0.00021690409630537033 + 0.00022493000142276287 ``` **outcome:** @@ -3230,7 +3862,7 @@ **duration:** ```python - 0.00015961192548274994 + 0.00014621298760175705 ``` **outcome:** @@ -3244,7 +3876,7 @@ **duration:** ```python - 0.0001821969635784626 + 0.00017222692258656025 ``` **outcome:** @@ -3285,7 +3917,7 @@ **duration:** ```python - 0.00015689409337937832 + 0.00016740593127906322 ``` **outcome:** @@ -3303,7 +3935,7 @@ **duration:** ```python - 0.00013364502228796482 + 0.0001295038964599371 ``` **outcome:** @@ -3317,7 +3949,7 @@ **duration:** ```python - 0.0001642429269850254 + 0.00016892515122890472 ``` **outcome:** @@ -3358,7 +3990,7 @@ **duration:** ```python - 0.00015369290485978127 + 0.00015065004117786884 ``` **outcome:** @@ -3376,7 +4008,7 @@ **duration:** ```python - 0.00011973408982157707 + 0.00012517813593149185 ``` **outcome:** @@ -3390,7 +4022,7 @@ **duration:** ```python - 0.00015765218995511532 + 0.00016497308388352394 ``` **outcome:** @@ -3431,7 +4063,7 @@ **duration:** ```python - 0.00013983412645757198 + 0.00015886384062469006 ``` **outcome:** @@ -3449,7 +4081,7 @@ **duration:** ```python - 0.00011669890955090523 + 0.00015184609219431877 ``` **outcome:** @@ -3463,7 +4095,7 @@ **duration:** ```python - 0.00015230500139296055 + 0.00018385890871286392 ``` **outcome:** @@ -3504,7 +4136,7 @@ **duration:** ```python - 0.00013597984798252583 + 0.0001478828489780426 ``` **outcome:** @@ -3522,7 +4154,7 @@ **duration:** ```python - 0.0001215590164065361 + 0.00012115901336073875 ``` **outcome:** @@ -3536,7 +4168,7 @@ **duration:** ```python - 0.0001512488815933466 + 0.00015492807142436504 ``` **outcome:** @@ -3577,7 +4209,7 @@ **duration:** ```python - 0.0001363060437142849 + 0.00015801307745277882 ``` **outcome:** @@ -3595,7 +4227,7 @@ **duration:** ```python - 0.00011676293797791004 + 0.00012165284715592861 ``` **outcome:** @@ -3609,7 +4241,7 @@ **duration:** ```python - 0.000160199124366045 + 0.00017273682169616222 ``` **outcome:** @@ -3650,7 +4282,7 @@ **duration:** ```python - 0.00013942085206508636 + 0.00014791707508265972 ``` **outcome:** @@ -3668,7 +4300,7 @@ **duration:** ```python - 0.00011735199950635433 + 0.00013295095413923264 ``` **outcome:** @@ -3682,7 +4314,7 @@ **duration:** ```python - 0.0001496190670877695 + 0.00015597487799823284 ``` **outcome:** @@ -3750,7 +4382,7 @@ The above exception was the direct cause of the following exception: cls = - func = . at 0x7ff954dbe670> + func = . at 0x7f9464578670> when = 'call' reraise = (, ) @@ -3817,7 +4449,7 @@ **duration:** ```python - 0.0002515439409762621 + 0.00026600086130201817 ``` **outcome:** @@ -3835,7 +4467,7 @@ **duration:** ```python - 0.00016050203703343868 + 0.0001442781649529934 ``` **outcome:** @@ -3849,7 +4481,7 @@ **duration:** ```python - 0.00017404695972800255 + 0.00017967401072382927 ``` **outcome:** @@ -3890,7 +4522,7 @@ **duration:** ```python - 0.00017963210120797157 + 0.00020712800323963165 ``` **outcome:** @@ -3908,7 +4540,7 @@ **duration:** ```python - 0.00012893695384263992 + 0.00013473909348249435 ``` **outcome:** @@ -3922,7 +4554,7 @@ **duration:** ```python - 0.00019808392971754074 + 0.00019974494352936745 ``` **outcome:** @@ -3969,7 +4601,7 @@ **duration:** ```python - 0.0001550039742141962 + 0.00016916287131607533 ``` **outcome:** @@ -3987,7 +4619,7 @@ **duration:** ```python - 0.00012243702076375484 + 0.00012888689525425434 ``` **outcome:** @@ -4001,7 +4633,7 @@ **duration:** ```python - 0.00015329010784626007 + 0.00018246890977025032 ``` **outcome:** @@ -4042,7 +4674,7 @@ **duration:** ```python - 0.00013814284466207027 + 0.00016139796935021877 ``` **outcome:** @@ -4060,7 +4692,7 @@ **duration:** ```python - 0.00012406310997903347 + 0.00013355002738535404 ``` **outcome:** @@ -4074,7 +4706,7 @@ **duration:** ```python - 0.00016597285866737366 + 0.000162036856636405 ``` **outcome:** @@ -4128,7 +4760,7 @@ **duration:** ```python - 0.0001423419453203678 + 0.0001667211763560772 ``` **outcome:** @@ -4146,7 +4778,7 @@ **duration:** ```python - 0.00012153899297118187 + 0.00013253511860966682 ``` **outcome:** @@ -4160,7 +4792,7 @@ **duration:** ```python - 0.000154206994920969 + 0.00016469694674015045 ``` **outcome:** @@ -4201,7 +4833,7 @@ **duration:** ```python - 0.00013939407654106617 + 0.00016071205027401447 ``` **outcome:** @@ -4219,7 +4851,7 @@ **duration:** ```python - 0.0001203708816319704 + 0.00012908503413200378 ``` **outcome:** @@ -4233,7 +4865,7 @@ **duration:** ```python - 0.00048592803068459034 + 0.0005018811207264662 ``` **outcome:** @@ -4288,7 +4920,7 @@ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'non_existent_module_xyz' - import_ = + import_ = > ??? E ModuleNotFoundError: No module named 'non_existent_module_xyz' @@ -4301,7 +4933,7 @@ **duration:** ```python - 0.00014290213584899902 + 0.00023000198416411877 ``` **outcome:** @@ -4333,7 +4965,7 @@ **duration:** ```python - 0.00019958708435297012 + 0.0002010120078921318 ``` **outcome:** @@ -4347,7 +4979,7 @@ **duration:** ```python - 0.00025550415739417076 + 0.0002834550105035305 ``` **outcome:** @@ -4390,7 +5022,7 @@ **duration:** ```python - 0.00017367815598845482 + 0.00020631705410778522 ``` **outcome:** @@ -4408,7 +5040,7 @@ **duration:** ```python - 0.00010111811570823193 + 0.00010216096416115761 ``` **outcome:** @@ -4422,7 +5054,7 @@ **duration:** ```python - 0.00014208490028977394 + 0.0001658161636441946 ``` **outcome:** @@ -4465,7 +5097,7 @@ **duration:** ```python - 0.0001400550827383995 + 0.00017843605019152164 ``` **outcome:** @@ -4488,7 +5120,7 @@ **duration:** ```python - 0.00010459101758897305 + 0.00011103181168437004 ``` **outcome:** @@ -4502,7 +5134,7 @@ **duration:** ```python - 0.00016043893992900848 + 0.00016492302529513836 ``` **outcome:** @@ -4555,7 +5187,7 @@ **duration:** ```python - 0.00013717403635382652 + 0.00016301218420267105 ``` **outcome:** @@ -4573,7 +5205,7 @@ **duration:** ```python - 0.00010264990851283073 + 0.00010773190297186375 ``` **outcome:** @@ -4587,7 +5219,7 @@ **duration:** ```python - 0.0001419049222022295 + 0.00016094185411930084 ``` **outcome:** @@ -4628,7 +5260,7 @@ **duration:** ```python - 0.00013476493768393993 + 0.00015419907867908478 ``` **outcome:** @@ -4646,7 +5278,7 @@ **duration:** ```python - 0.00012037600390613079 + 0.00012211594730615616 ``` **outcome:** @@ -4660,7 +5292,7 @@ **duration:** ```python - 0.00015958398580551147 + 0.0001591769978404045 ``` **outcome:** @@ -4701,7 +5333,7 @@ **duration:** ```python - 0.00014388607814908028 + 0.00014781695790588856 ``` **outcome:** @@ -4729,7 +5361,7 @@ **duration:** ```python - 0.00013370206579566002 + 0.00013698800466954708 ``` **outcome:** @@ -4743,7 +5375,7 @@ **duration:** ```python - 0.00028716796077787876 + 0.0002747469116002321 ``` **outcome:** @@ -4787,7 +5419,7 @@ **duration:** ```python - 0.00013797287829220295 + 0.00014183204621076584 ``` **outcome:** @@ -4810,7 +5442,7 @@ **duration:** ```python - 0.00012521003372967243 + 0.00012513692490756512 ``` **outcome:** @@ -4824,7 +5456,7 @@ **duration:** ```python - 0.0006292511243373156 + 0.0006522000767290592 ``` **outcome:** @@ -4874,7 +5506,7 @@ **duration:** ```python - 0.00024207192473113537 + 0.0002543351147323847 ``` **outcome:** @@ -4902,7 +5534,7 @@ **duration:** ```python - 0.0002254920545965433 + 0.0002818929497152567 ``` **outcome:** @@ -4922,7 +5554,7 @@ **duration:** ```python - 0.0001166011206805706 + 0.00011402880772948265 ``` **outcome:** @@ -4950,7 +5582,7 @@ **duration:** ```python - 0.0001555879134684801 + 0.0001889229752123356 ``` **outcome:** @@ -4976,7 +5608,7 @@ **duration:** ```python - 0.00012214714661240578 + 0.00014326698146760464 ``` **outcome:** diff --git a/ci-reports/markdown/json-tree-view.txt b/ci-reports/markdown/json-tree-view.txt index 81ab0551..d6b54e47 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: 1753087675.7312698 -โ”œโ”€โ”€ duration: 0.5865132808685303 +โ”œโ”€โ”€ created: 1753088106.4233248 +โ”œโ”€โ”€ duration: 0.6685476303100586 โ”œโ”€โ”€ exitcode: 1 โ”œโ”€โ”€ root: /workspace/tligui_y/slic โ”œโ”€โ”€ environment @@ -524,13 +524,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.003428531112149358 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.003856702009215951 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0004314000252634287 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0005525858141481876 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002483499702066183 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00030047004111111164 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_io_utils.py::test_read_file @@ -543,13 +543,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0004535750485956669 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0005150521174073219 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00029062386602163315 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0003016199916601181 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001445699017494917 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013776496052742004 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_io_utils.py::test_cause_io_error @@ -562,10 +562,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001175908837467432 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014378386549651623 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001598659437149763 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016592885367572308 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/functions/io_utils.py @@ -594,7 +594,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ functions/io_utils.py:10: OSError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014439295046031475 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016856100410223007 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_io_utils.py::test_file_not_found @@ -607,10 +607,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012168195098638535 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014707818627357483 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00021681701764464378 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00019746506586670876 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/functions/io_utils.py @@ -643,7 +643,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ functions/io_utils.py:2: FileNotFoundError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014150794595479965 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015362398698925972 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_io_utils.py::test_permission_error @@ -656,10 +656,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00020749703980982304 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002510719932615757 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00019495701417326927 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001884701196104288 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_io_utils.py @@ -679,7 +679,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ lineno: 34 โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ message: PermissionError โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object -โ”‚ โ”‚ โ”‚ at 0x7ff954d96a90> +โ”‚ โ”‚ โ”‚ at 0x7f94644dd880> โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ def test_permission_error(monkeypatch): โ”‚ โ”‚ โ”‚ # Patch open to raise PermissionError simulating access @@ -705,7 +705,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_io_utils.py:34: PermissionError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001847089733928442 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00019052904099225998 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_io_utils.py::test_mock_open_error @@ -718,10 +718,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00019870512187480927 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00023749214597046375 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0033467928878962994 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0034683060366660357 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: @@ -747,7 +747,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ lineno: 1140 โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ message: OSError โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object -โ”‚ โ”‚ โ”‚ at 0x7ff956da9910> +โ”‚ โ”‚ โ”‚ at 0x7f946688ee20> โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ def test_mock_open_error(monkeypatch): โ”‚ โ”‚ โ”‚ # Mock open() to raise IOError simulating read error @@ -769,7 +769,7 @@ โ”‚ โ”‚ โ”‚ _ _ _ _ _ _ _ _ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ self = +โ”‚ โ”‚ โ”‚ id='140275352137680'> โ”‚ โ”‚ โ”‚ args = ('file.txt', 'r'), kwargs = {}, effect = OSError('Mocked โ”‚ โ”‚ โ”‚ IOError') โ”‚ โ”‚ โ”‚ @@ -787,7 +787,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ .pixi/envs/default/lib/python3.8/unittest/mock.py:1140: OSError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0003256530035287142 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00032648886553943157 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_io_utils.py::test_file_handle_closed_error @@ -800,10 +800,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001424949150532484 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015577487647533417 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001996729988604784 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001971579622477293 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_io_utils.py @@ -823,7 +823,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_io_utils.py:50: ValueError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00019459589384496212 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00019021681509912014 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_io_utils.py::test_os_error @@ -836,10 +836,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00025272113271057606 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002492191269993782 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002043719869107008 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001999561209231615 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_io_utils.py @@ -855,7 +855,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ lineno: 55 โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ message: OSError โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ longrepr: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object -โ”‚ โ”‚ โ”‚ at 0x7ff954edcd90> +โ”‚ โ”‚ โ”‚ at 0x7f94643b4670> โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ def test_os_error(monkeypatch): โ”‚ โ”‚ โ”‚ # Patch os.remove to raise OSError simulating filesystem @@ -877,7 +877,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_io_utils.py:55: OSError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00020262203179299831 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00022182799875736237 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_io_utils.py::test_write_file_in_readonly_mode @@ -890,13 +890,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0006845961324870586 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0006900650914758444 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0009522500913590193 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0009528270456939936 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015838607214391232 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016214605420827866 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_io_utils.py::test_file_not_found_error @@ -909,10 +909,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011672102846205235 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012068403884768486 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00018960703164339066 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00017758202739059925 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_io_utils.py @@ -933,7 +933,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_io_utils.py:70: FileNotFoundError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015033897943794727 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001577709335833788 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_broken @@ -946,10 +946,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013489392586052418 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013847299851477146 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016663200221955776 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016208901070058346 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -969,7 +969,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:16: NameError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014022295363247395 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015345308929681778 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_call_missing_function @@ -982,10 +982,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011768797412514687 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012953300029039383 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00018336297944188118 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001620680559426546 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1006,7 +1006,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:20: AttributeError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001422809436917305 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014879601076245308 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_addition_pass[2-2-4] @@ -1022,13 +1022,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00030992995016276836 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0003491109237074852 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014565791934728622 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001570531167089939 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015012500807642937 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015607522800564766 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_addition_pass[1-5-6] @@ -1044,13 +1044,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00025536795146763325 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00026477500796318054 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014866888523101807 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014081993140280247 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014038500376045704 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015572807751595974 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_addition_pass[3-4-7] @@ -1066,13 +1066,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00024071987718343735 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002384418621659279 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013635307550430298 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012684985995292664 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013328692875802517 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001454218290746212 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_addition_pass[3-5-8] @@ -1088,13 +1088,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002323170192539692 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002366490662097931 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013921898789703846 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013164803385734558 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013553816825151443 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014750403352081776 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_addition_pass[3-6-9] @@ -1110,13 +1110,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002423140686005354 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00024665682576596737 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013125804252922535 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013206806033849716 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001350699458271265 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013701897114515305 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_addition_pass_id @@ -1132,13 +1132,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00023363297805190086 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002676299773156643 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012576114386320114 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012983707711100578 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001364590134471655 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014057080261409283 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_addition_pass_id @@ -1154,13 +1154,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00023854197934269905 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00024703494273126125 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012773904018104076 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013828417286276817 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001322960015386343 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013383198529481888 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_addition_pass_id @@ -1176,13 +1176,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00024613714776933193 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00023342808708548546 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013018911704421043 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013335701078176498 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014120107516646385 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014397618360817432 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_addition_fail @@ -1195,10 +1195,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001035409513860941 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00010456587187945843 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00044970400631427765 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0005118260160088539 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1218,7 +1218,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:51: AssertionError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001377798616886139 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015070312656462193 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_division_zero @@ -1231,10 +1231,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001165799330919981 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011925492435693741 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015489105135202408 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001610228791832924 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/functions/math_utils.py @@ -1266,7 +1266,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ functions/math_utils.py:5: ZeroDivisionError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013869302347302437 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014154007658362389 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_multiply_xfail @@ -1281,10 +1281,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013370206579566002 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013698800466954708 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00028716796077787876 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002747469116002321 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: skipped โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1306,7 +1306,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:60: AssertionError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013797287829220295 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014183204621076584 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_runtime_error @@ -1319,10 +1319,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011729286052286625 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011783698573708534 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001452991273254156 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015410804189741611 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1340,7 +1340,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:64: RuntimeError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001372720580548048 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001396690495312214 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_memory_error @@ -1353,10 +1353,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011983397416770458 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011826399713754654 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016075978055596352 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015084585174918175 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1375,7 +1375,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:68: MemoryError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001388478558510542 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013838405720889568 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_timeout_error @@ -1388,10 +1388,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011830311268568039 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001208130270242691 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014865491539239883 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016775494441390038 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1410,7 +1410,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:72: TimeoutError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013472791761159897 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014156592078506947 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_recursion_error @@ -1423,10 +1423,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012422585859894753 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012254598550498486 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0008279480971395969 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0008121260907500982 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1461,7 +1461,7 @@ โ”‚ โ”‚ โ”‚ E RecursionError: maximum recursion depth exceeded โ”‚ โ”‚ โ”‚ !!! Recursion detected (same locals & position) โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00021690409630537033 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00022493000142276287 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_floating_point_error @@ -1474,10 +1474,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015961192548274994 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014621298760175705 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001821969635784626 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00017222692258656025 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1496,7 +1496,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:82: FloatingPointError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015689409337937832 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016740593127906322 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_floating_point_overflow @@ -1509,10 +1509,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013364502228796482 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001295038964599371 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001642429269850254 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016892515122890472 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1530,7 +1530,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:86: OverflowError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015369290485978127 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015065004117786884 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_value_error @@ -1543,10 +1543,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011973408982157707 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012517813593149185 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015765218995511532 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016497308388352394 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1566,7 +1566,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:90: ValueError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013983412645757198 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015886384062469006 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_wrong_argument_error @@ -1579,10 +1579,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011669890955090523 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015184609219431877 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015230500139296055 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00018385890871286392 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1600,7 +1600,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:94: TypeError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013597984798252583 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001478828489780426 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_unhandled_exception @@ -1613,10 +1613,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001215590164065361 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012115901336073875 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001512488815933466 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015492807142436504 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1634,7 +1634,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:98: Exception โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001363060437142849 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015801307745277882 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_custom_error @@ -1647,10 +1647,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011676293797791004 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012165284715592861 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.000160199124366045 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00017273682169616222 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1669,7 +1669,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:102: CustomError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013942085206508636 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014791707508265972 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_stop_iteration_direct @@ -1682,10 +1682,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011735199950635433 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013295095413923264 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001496190670877695 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015597487799823284 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: @@ -1772,7 +1772,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ cls = โ”‚ โ”‚ โ”‚ func = . at -โ”‚ โ”‚ โ”‚ 0x7ff954dbe670> +โ”‚ โ”‚ โ”‚ 0x7f9464578670> โ”‚ โ”‚ โ”‚ when = 'call' โ”‚ โ”‚ โ”‚ reraise = (, ) @@ -1855,7 +1855,7 @@ โ”‚ โ”‚ โ”‚ .pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.p โ”‚ โ”‚ โ”‚ y:880: RuntimeError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002515439409762621 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00026600086130201817 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_generator_exit_direct @@ -1868,10 +1868,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016050203703343868 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001442781649529934 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00017404695972800255 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00017967401072382927 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1889,7 +1889,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:110: GeneratorExit โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00017963210120797157 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00020712800323963165 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_malformed_code @@ -1902,10 +1902,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012893695384263992 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013473909348249435 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00019808392971754074 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00019974494352936745 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1929,7 +1929,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:114: SyntaxError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001550039742141962 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016916287131607533 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_sys_exit @@ -1942,10 +1942,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012243702076375484 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012888689525425434 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015329010784626007 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00018246890977025032 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -1963,7 +1963,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:118: SystemExit โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013814284466207027 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016139796935021877 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_broken_function @@ -1976,10 +1976,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012406310997903347 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013355002738535404 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016597285866737366 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.000162036856636405 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -2012,7 +2012,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:123: TypeError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001423419453203678 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001667211763560772 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_import_error @@ -2025,10 +2025,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012153899297118187 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013253511860966682 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.000154206994920969 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016469694674015045 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_math_utils.py @@ -2046,7 +2046,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_math_utils.py:128: ImportError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013939407654106617 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016071205027401447 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_math_utils.py::test_module_not_found_error @@ -2059,10 +2059,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001203708816319704 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012908503413200378 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00048592803068459034 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0005018811207264662 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: @@ -2110,7 +2110,7 @@ โ”‚ โ”‚ โ”‚ _ _ _ _ _ _ _ _ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ name = 'non_existent_module_xyz' -โ”‚ โ”‚ โ”‚ import_ = +โ”‚ โ”‚ โ”‚ import_ = โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ > ??? โ”‚ โ”‚ โ”‚ E ModuleNotFoundError: No module named @@ -2118,7 +2118,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ :973: ModuleNotFoundError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014290213584899902 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00023000198416411877 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_basic_ids @@ -2134,13 +2134,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002511159982532263 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00030287005938589573 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013981712982058525 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015990808606147766 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013118796050548553 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013053696602582932 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_basic_ids @@ -2156,13 +2156,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00018339906819164753 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00019052880816161633 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013373605906963348 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001276989933103323 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011961697600781918 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011281715705990791 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_with_reason_and_marks @@ -2178,13 +2178,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016549089923501015 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016922783106565475 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012395507656037807 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001225820742547512 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011027185246348381 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011446606367826462 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_with_reason_and_marks @@ -2201,12 +2201,12 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002254920545965433 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002818929497152567 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: skipped โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ longrepr: ('/workspace/tligui_y/slic/tests/test_param.py', 12, โ”‚ โ”‚ โ”‚ 'Skipped: nope') โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001166011206805706 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011402880772948265 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_multiple_positional_args[1-2] @@ -2222,13 +2222,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00023847399279475212 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00022603501565754414 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012814300134778023 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013117492198944092 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001284969039261341 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013003195635974407 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_multiple_positional_args[3-4] @@ -2244,13 +2244,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00020979996770620346 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00020632101222872734 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012306193821132183 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012446008622646332 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001283818855881691 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012199394404888153 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_non_literal_with_id @@ -2266,13 +2266,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016997219063341618 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015409104526042938 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012402702122926712 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012291595339775085 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011050188913941383 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011948402971029282 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_timedistance_v1 @@ -2288,13 +2288,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002366218250244856 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002501499839127064 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012349803000688553 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012988108210265636 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015642191283404827 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013508694246411324 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_timedistance_v1 @@ -2310,13 +2310,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002494659274816513 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002412470057606697 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012447196058928967 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012941891327500343 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014030607417225838 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013470486737787724 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_sum_positive @@ -2332,13 +2332,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00021565798670053482 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00019600195810198784 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001252838410437107 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012511108070611954 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001224200241267681 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012852298095822334 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_sum_positive @@ -2354,13 +2354,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00019473489373922348 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00020308000966906548 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001250097993761301 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012640096247196198 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013071601279079914 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012288708239793777 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_sum_positive @@ -2376,10 +2376,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00019958708435297012 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002010120078921318 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00025550415739417076 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002834550105035305 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_param.py @@ -2400,7 +2400,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_param.py:58: AssertionError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00017367815598845482 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00020631705410778522 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_dynamic @@ -2414,13 +2414,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00018359487876296043 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00022013788111507893 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014875712804496288 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013730092905461788 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012103421613574028 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011878111399710178 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_dynamic @@ -2434,13 +2434,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.000161327188834548 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00017153983935713768 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012255203910171986 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001276661641895771 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011322088539600372 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011377804912626743 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_dynamic @@ -2454,13 +2454,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016561103984713554 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001703309826552868 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011829310096800327 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012177298776805401 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011184508912265301 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011164089664816856 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_element_type[\U0001f525] @@ -2474,13 +2474,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015774089843034744 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016881991177797318 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012398092076182365 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012758001685142517 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011968589387834072 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011368002742528915 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_element_type[\U0001f4a7] @@ -2494,13 +2494,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016193301416933537 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.000160672003403306 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011985516175627708 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001292959786951542 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00010844203643500805 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00010977592319250107 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_element_type[\U0001f30d] @@ -2514,13 +2514,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015816092491149902 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001558938529342413 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012947502546012402 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011727004311978817 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011123507283627987 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00010814913548529148 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_combination @@ -2536,13 +2536,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00021074782125651836 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00020664697512984276 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012165913358330727 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.000125381862744689 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012376694940030575 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001253338996320963 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_combination @@ -2558,13 +2558,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00021684984676539898 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002031268086284399 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012664217501878738 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012786989100277424 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012422003783285618 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001281260047107935 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_combination @@ -2580,13 +2580,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00020368513651192188 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002031121402978897 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012206495739519596 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001228759065270424 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012804614380002022 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001269560307264328 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_combination @@ -2602,13 +2602,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0002135110553354025 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00020456896163523197 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001281748991459608 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012529105879366398 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012489408254623413 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013327295891940594 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_indirect_fixture[1] @@ -2624,13 +2624,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001582619734108448 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00017057592049241066 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012853601947426796 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012337509542703629 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011244602501392365 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012849201448261738 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_indirect_fixture[2] @@ -2646,13 +2646,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001595909707248211 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016891304403543472 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013073207810521126 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012408103793859482 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011006207205355167 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011088117025792599 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_addition @@ -2665,10 +2665,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00010111811570823193 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00010216096416115761 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014208490028977394 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001658161636441946 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_param.py @@ -2688,7 +2688,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_param.py:97: NameError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001400550827383995 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00017843605019152164 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_param.py::test_basic_error @@ -2701,7 +2701,7 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001555879134684801 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001889229752123356 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ longrepr: file /workspace/tligui_y/slic/tests/test_param.py, โ”‚ โ”‚ โ”‚ line 100 @@ -2718,7 +2718,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ /workspace/tligui_y/slic/tests/test_param.py:100 โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012214714661240578 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014326698146760464 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_string_utils.py::test_uppercase_normal @@ -2731,13 +2731,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012152898125350475 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013894401490688324 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014365208335220814 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016196700744330883 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00010572187602519989 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.000116321025416255 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_string_utils.py::test_uppercase_type_error @@ -2750,10 +2750,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00010459101758897305 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011103181168437004 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016043893992900848 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016492302529513836 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/functions/string_utils.py @@ -2785,7 +2785,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ functions/string_utils.py:3: TypeError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013717403635382652 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016301218420267105 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_string_utils.py::test_reverse_string @@ -2798,13 +2798,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011941185221076012 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013541383668780327 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015450711362063885 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001455480232834816 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.000103397062048316 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00010279309935867786 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_string_utils.py::test_warning_emit @@ -2817,13 +2817,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011576199904084206 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00010557216592133045 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014197500422596931 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014668190851807594 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 9.577791206538677e-05 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 9.596208110451698e-05 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_string_utils.py::test_unicode_decode_error @@ -2836,10 +2836,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00010264990851283073 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00010773190297186375 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001419049222022295 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00016094185411930084 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_string_utils.py @@ -2859,7 +2859,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_string_utils.py:28: UnicodeDecodeError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013476493768393993 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015419907867908478 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: @@ -2873,10 +2873,10 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012037600390613079 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012211594730615616 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00015958398580551147 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001591769978404045 โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ outcome: failed โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_string_utils.py @@ -2897,7 +2897,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_string_utils.py:32: UnicodeDecodeError โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014388607814908028 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00014781695790588856 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ - โ”‚ โ”‚ โ”œโ”€โ”€ nodeid: tests/test_string_utils.py::test_syntax_warning @@ -2910,13 +2910,13 @@ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00011507398448884487 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001352860126644373 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00013995100744068623 +โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00017297198064625263 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00010072696022689342 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0001225820742547512 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ””โ”€โ”€ - โ”‚ โ”œโ”€โ”€ nodeid: tests/test_string_utils.py::test_xfail_uppercase_digits @@ -2931,10 +2931,10 @@ โ”‚ โ”‚ โ”œโ”€โ”€ slic โ”‚ โ”‚ โ””โ”€โ”€ โ”‚ โ”œโ”€โ”€ setup -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012521003372967243 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.00012513692490756512 โ”‚ โ”‚ โ””โ”€โ”€ outcome: passed โ”‚ โ”œโ”€โ”€ call -โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0006292511243373156 +โ”‚ โ”‚ โ”œโ”€โ”€ duration: 0.0006522000767290592 โ”‚ โ”‚ โ”œโ”€โ”€ outcome: skipped โ”‚ โ”‚ โ”œโ”€โ”€ crash โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ path: /workspace/tligui_y/slic/tests/test_string_utils.py @@ -2963,7 +2963,7 @@ โ”‚ โ”‚ โ”‚ โ”‚ tests/test_string_utils.py:41: AssertionError โ”‚ โ””โ”€โ”€ teardown -โ”‚ โ”œโ”€โ”€ duration: 0.00024207192473113537 +โ”‚ โ”œโ”€โ”€ duration: 0.0002543351147323847 โ”‚ โ””โ”€โ”€ outcome: passed โ””โ”€โ”€ warnings โ”œโ”€โ”€ - diff --git a/ci-reports/markdown/pytest-report.json b/ci-reports/markdown/pytest-report.json index ad347f91..bb5ce434 100644 --- a/ci-reports/markdown/pytest-report.json +++ b/ci-reports/markdown/pytest-report.json @@ -1 +1 @@ -{"created": 1753087675.7312698, "duration": 0.5865132808685303, "exitcode": 1, "root": "/workspace/tligui_y/slic", "environment": {}, "summary": {"passed": 37, "failed": 33, "xfailed": 2, "skipped": 1, "error": 1, "total": 74, "collected": 74}, "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_write_file", "type": "Function", "lineno": 9}, {"nodeid": "tests/test_io_utils.py::test_read_file", "type": "Function", "lineno": 15}, {"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_in_readonly_mode", "type": "Function", "lineno": 58}, {"nodeid": "tests/test_io_utils.py::test_file_not_found_error", "type": "Function", "lineno": 67}]}, {"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": 129}]}, {"nodeid": "tests/test_param.py", "outcome": "passed", "result": [{"nodeid": "tests/test_param.py::test_basic_ids[one]", "type": "Function", "lineno": 3}, {"nodeid": "tests/test_param.py::test_basic_ids[two]", "type": "Function", "lineno": 3}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[ten]", "type": "Function", "lineno": 11}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[twenty]", "type": "Function", "lineno": 11}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[1-2]", "type": "Function", "lineno": 19}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[3-4]", "type": "Function", "lineno": 19}, {"nodeid": "tests/test_param.py::test_non_literal_with_id[custom-obj]", "type": "Function", "lineno": 27}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a0-b0-expected0]", "type": "Function", "lineno": 43}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a1-b1-expected1]", "type": "Function", "lineno": 43}, {"nodeid": "tests/test_param.py::test_sum_positive[one]", "type": "Function", "lineno": 55}, {"nodeid": "tests/test_param.py::test_sum_positive[two]", "type": "Function", "lineno": 55}, {"nodeid": "tests/test_param.py::test_sum_positive[edge]", "type": "Function", "lineno": 55}, {"nodeid": "tests/test_param.py::test_dynamic[ten]", "type": "Function", "lineno": 65}, {"nodeid": "tests/test_param.py::test_dynamic[twenty]", "type": "Function", "lineno": 65}, {"nodeid": "tests/test_param.py::test_dynamic[thirty]", "type": "Function", "lineno": 65}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f525]", "type": "Function", "lineno": 74}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f4a7]", "type": "Function", "lineno": 74}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f30d]", "type": "Function", "lineno": 74}, {"nodeid": "tests/test_param.py::test_combination[a-1]", "type": "Function", "lineno": 78}, {"nodeid": "tests/test_param.py::test_combination[a-2]", "type": "Function", "lineno": 78}, {"nodeid": "tests/test_param.py::test_combination[b-1]", "type": "Function", "lineno": 78}, {"nodeid": "tests/test_param.py::test_combination[b-2]", "type": "Function", "lineno": 78}, {"nodeid": "tests/test_param.py::test_indirect_fixture[1]", "type": "Function", "lineno": 89}, {"nodeid": "tests/test_param.py::test_indirect_fixture[2]", "type": "Function", "lineno": 89}, {"nodeid": "tests/test_param.py::test_addition", "type": "Function", "lineno": 94}, {"nodeid": "tests/test_param.py::test_basic_error", "type": "Function", "lineno": 99}]}, {"nodeid": "tests/test_string_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "type": "Function", "lineno": 9}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "type": "Function", "lineno": 13}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "type": "Function", "lineno": 17}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "type": "Function", "lineno": 21}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "type": "Function", "lineno": 25}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "type": "Function", "lineno": 29}, {"nodeid": "tests/test_string_utils.py::test_syntax_warning", "type": "Function", "lineno": 33}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "type": "Function", "lineno": 37}]}, {"nodeid": "tests", "outcome": "passed", "result": [{"nodeid": "tests/test_broken_fct.py", "type": "Module"}, {"nodeid": "tests/test_collector_error.py", "type": "Module"}, {"nodeid": "tests/test_io_utils.py", "type": "Module"}, {"nodeid": "tests/test_math_utils.py", "type": "Module"}, {"nodeid": "tests/test_param.py", "type": "Module"}, {"nodeid": "tests/test_string_utils.py", "type": "Module"}]}, {"nodeid": ".", "outcome": "passed", "result": [{"nodeid": "ci-reports", "type": "Dir"}, {"nodeid": "functions", "type": "Package"}, {"nodeid": "tests", "type": "Dir"}]}], "tests": [{"nodeid": "tests/test_io_utils.py::test_write_file", "lineno": 9, "outcome": "passed", "keywords": ["test_write_file", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.003428531112149358, "outcome": "passed"}, "call": {"duration": 0.0004314000252634287, "outcome": "passed"}, "teardown": {"duration": 0.0002483499702066183, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_read_file", "lineno": 15, "outcome": "passed", "keywords": ["test_read_file", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0004535750485956669, "outcome": "passed"}, "call": {"duration": 0.00029062386602163315, "outcome": "passed"}, "teardown": {"duration": 0.0001445699017494917, "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.0001175908837467432, "outcome": "passed"}, "call": {"duration": 0.0001598659437149763, "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.00014439295046031475, "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.00012168195098638535, "outcome": "passed"}, "call": {"duration": 0.00021681701764464378, "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.00014150794595479965, "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.00020749703980982304, "outcome": "passed"}, "call": {"duration": 0.00019495701417326927, "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 0x7ff954d96a90>\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.0001847089733928442, "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.00019870512187480927, "outcome": "passed"}, "call": {"duration": 0.0033467928878962994, "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 0x7ff956da9910>\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.0003256530035287142, "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.0001424949150532484, "outcome": "passed"}, "call": {"duration": 0.0001996729988604784, "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.00019459589384496212, "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.00025272113271057606, "outcome": "passed"}, "call": {"duration": 0.0002043719869107008, "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 0x7ff954edcd90>\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.00020262203179299831, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_write_file_in_readonly_mode", "lineno": 58, "outcome": "passed", "keywords": ["test_write_file_in_readonly_mode", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0006845961324870586, "outcome": "passed"}, "call": {"duration": 0.0009522500913590193, "outcome": "passed"}, "teardown": {"duration": 0.00015838607214391232, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_file_not_found_error", "lineno": 67, "outcome": "failed", "keywords": ["test_file_not_found_error", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011672102846205235, "outcome": "passed"}, "call": {"duration": 0.00018960703164339066, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_io_utils.py", "lineno": 70, "message": "FileNotFoundError: [Errno 2] No such file or directory: 'no_such_file.txt'"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 70, "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:70: FileNotFoundError"}, "teardown": {"duration": 0.00015033897943794727, "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.00013489392586052418, "outcome": "passed"}, "call": {"duration": 0.00016663200221955776, "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.00014022295363247395, "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.00011768797412514687, "outcome": "passed"}, "call": {"duration": 0.00018336297944188118, "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.0001422809436917305, "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.00030992995016276836, "outcome": "passed"}, "call": {"duration": 0.00014565791934728622, "outcome": "passed"}, "teardown": {"duration": 0.00015012500807642937, "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.00025536795146763325, "outcome": "passed"}, "call": {"duration": 0.00014866888523101807, "outcome": "passed"}, "teardown": {"duration": 0.00014038500376045704, "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.00024071987718343735, "outcome": "passed"}, "call": {"duration": 0.00013635307550430298, "outcome": "passed"}, "teardown": {"duration": 0.00013328692875802517, "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.0002323170192539692, "outcome": "passed"}, "call": {"duration": 0.00013921898789703846, "outcome": "passed"}, "teardown": {"duration": 0.00013553816825151443, "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.0002423140686005354, "outcome": "passed"}, "call": {"duration": 0.00013125804252922535, "outcome": "passed"}, "teardown": {"duration": 0.0001350699458271265, "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.00023363297805190086, "outcome": "passed"}, "call": {"duration": 0.00012576114386320114, "outcome": "passed"}, "teardown": {"duration": 0.0001364590134471655, "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.00023854197934269905, "outcome": "passed"}, "call": {"duration": 0.00012773904018104076, "outcome": "passed"}, "teardown": {"duration": 0.0001322960015386343, "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.00024613714776933193, "outcome": "passed"}, "call": {"duration": 0.00013018911704421043, "outcome": "passed"}, "teardown": {"duration": 0.00014120107516646385, "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.0001035409513860941, "outcome": "passed"}, "call": {"duration": 0.00044970400631427765, "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.0001377798616886139, "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.0001165799330919981, "outcome": "passed"}, "call": {"duration": 0.00015489105135202408, "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.00013869302347302437, "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.00013370206579566002, "outcome": "passed"}, "call": {"duration": 0.00028716796077787876, "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.00013797287829220295, "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.00011729286052286625, "outcome": "passed"}, "call": {"duration": 0.0001452991273254156, "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.0001372720580548048, "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.00011983397416770458, "outcome": "passed"}, "call": {"duration": 0.00016075978055596352, "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.0001388478558510542, "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.00011830311268568039, "outcome": "passed"}, "call": {"duration": 0.00014865491539239883, "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.00013472791761159897, "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.00012422585859894753, "outcome": "passed"}, "call": {"duration": 0.0008279480971395969, "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.00021690409630537033, "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.00015961192548274994, "outcome": "passed"}, "call": {"duration": 0.0001821969635784626, "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.00015689409337937832, "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.00013364502228796482, "outcome": "passed"}, "call": {"duration": 0.0001642429269850254, "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.00015369290485978127, "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.00011973408982157707, "outcome": "passed"}, "call": {"duration": 0.00015765218995511532, "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.00013983412645757198, "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.00011669890955090523, "outcome": "passed"}, "call": {"duration": 0.00015230500139296055, "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.00013597984798252583, "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.0001215590164065361, "outcome": "passed"}, "call": {"duration": 0.0001512488815933466, "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.0001363060437142849, "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.00011676293797791004, "outcome": "passed"}, "call": {"duration": 0.000160199124366045, "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.00013942085206508636, "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.00011735199950635433, "outcome": "passed"}, "call": {"duration": 0.0001496190670877695, "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 0x7ff954dbe670>\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.0002515439409762621, "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.00016050203703343868, "outcome": "passed"}, "call": {"duration": 0.00017404695972800255, "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.00017963210120797157, "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.00012893695384263992, "outcome": "passed"}, "call": {"duration": 0.00019808392971754074, "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.0001550039742141962, "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.00012243702076375484, "outcome": "passed"}, "call": {"duration": 0.00015329010784626007, "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.00013814284466207027, "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.00012406310997903347, "outcome": "passed"}, "call": {"duration": 0.00016597285866737366, "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.0001423419453203678, "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.00012153899297118187, "outcome": "passed"}, "call": {"duration": 0.000154206994920969, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 128, "message": "ImportError: Simulated ImportError"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 128, "message": "ImportError"}], "longrepr": "def test_import_error():\n # Directly raise ImportError exception\n> raise ImportError(\"Simulated ImportError\")\nE ImportError: Simulated ImportError\n\ntests/test_math_utils.py:128: ImportError"}, "teardown": {"duration": 0.00013939407654106617, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_module_not_found_error", "lineno": 129, "outcome": "failed", "keywords": ["test_module_not_found_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0001203708816319704, "outcome": "passed"}, "call": {"duration": 0.00048592803068459034, "outcome": "failed", "crash": {"path": "", "lineno": 973, "message": "ModuleNotFoundError: No module named 'non_existent_module_xyz'"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 132, "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:132: \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.00014290213584899902, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_basic_ids[one]", "lineno": 3, "outcome": "passed", "keywords": ["test_basic_ids[one]", "parametrize", "pytestmark", "one", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002511159982532263, "outcome": "passed"}, "call": {"duration": 0.00013981712982058525, "outcome": "passed"}, "teardown": {"duration": 0.00013118796050548553, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_basic_ids[two]", "lineno": 3, "outcome": "passed", "keywords": ["test_basic_ids[two]", "parametrize", "pytestmark", "two", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00018339906819164753, "outcome": "passed"}, "call": {"duration": 0.00013373605906963348, "outcome": "passed"}, "teardown": {"duration": 0.00011961697600781918, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[ten]", "lineno": 11, "outcome": "passed", "keywords": ["test_with_reason_and_marks[ten]", "parametrize", "pytestmark", "ten", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00016549089923501015, "outcome": "passed"}, "call": {"duration": 0.00012395507656037807, "outcome": "passed"}, "teardown": {"duration": 0.00011027185246348381, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[twenty]", "lineno": 11, "outcome": "skipped", "keywords": ["test_with_reason_and_marks[twenty]", "parametrize", "skip", "pytestmark", "twenty", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002254920545965433, "outcome": "skipped", "longrepr": "('/workspace/tligui_y/slic/tests/test_param.py', 12, 'Skipped: nope')"}, "teardown": {"duration": 0.0001166011206805706, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[1-2]", "lineno": 19, "outcome": "passed", "keywords": ["test_multiple_positional_args[1-2]", "parametrize", "pytestmark", "1-2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00023847399279475212, "outcome": "passed"}, "call": {"duration": 0.00012814300134778023, "outcome": "passed"}, "teardown": {"duration": 0.0001284969039261341, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[3-4]", "lineno": 19, "outcome": "passed", "keywords": ["test_multiple_positional_args[3-4]", "parametrize", "pytestmark", "3-4", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00020979996770620346, "outcome": "passed"}, "call": {"duration": 0.00012306193821132183, "outcome": "passed"}, "teardown": {"duration": 0.0001283818855881691, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_non_literal_with_id[custom-obj]", "lineno": 27, "outcome": "passed", "keywords": ["test_non_literal_with_id[custom-obj]", "parametrize", "pytestmark", "custom-obj", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00016997219063341618, "outcome": "passed"}, "call": {"duration": 0.00012402702122926712, "outcome": "passed"}, "teardown": {"duration": 0.00011050188913941383, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a0-b0-expected0]", "lineno": 43, "outcome": "passed", "keywords": ["test_timedistance_v1[a0-b0-expected0]", "parametrize", "pytestmark", "a0-b0-expected0", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002366218250244856, "outcome": "passed"}, "call": {"duration": 0.00012349803000688553, "outcome": "passed"}, "teardown": {"duration": 0.00015642191283404827, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a1-b1-expected1]", "lineno": 43, "outcome": "passed", "keywords": ["test_timedistance_v1[a1-b1-expected1]", "parametrize", "pytestmark", "a1-b1-expected1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002494659274816513, "outcome": "passed"}, "call": {"duration": 0.00012447196058928967, "outcome": "passed"}, "teardown": {"duration": 0.00014030607417225838, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_sum_positive[one]", "lineno": 55, "outcome": "passed", "keywords": ["test_sum_positive[one]", "parametrize", "pytestmark", "one", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00021565798670053482, "outcome": "passed"}, "call": {"duration": 0.0001252838410437107, "outcome": "passed"}, "teardown": {"duration": 0.0001224200241267681, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_sum_positive[two]", "lineno": 55, "outcome": "passed", "keywords": ["test_sum_positive[two]", "parametrize", "pytestmark", "two", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00019473489373922348, "outcome": "passed"}, "call": {"duration": 0.0001250097993761301, "outcome": "passed"}, "teardown": {"duration": 0.00013071601279079914, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_sum_positive[edge]", "lineno": 55, "outcome": "failed", "keywords": ["test_sum_positive[edge]", "parametrize", "pytestmark", "edge", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00019958708435297012, "outcome": "passed"}, "call": {"duration": 0.00025550415739417076, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_param.py", "lineno": 58, "message": "assert (-1 + -1) >= 0"}, "traceback": [{"path": "tests/test_param.py", "lineno": 58, "message": "AssertionError"}], "longrepr": "x = -1, y = -1\n\n @pytest.mark.parametrize(\"x, y\", [(param[\"x\"], param[\"y\"]) for _, param in scenarios], ids=[name for name, _ in scenarios])\n def test_sum_positive(x, y):\n> assert (x + y) >= 0\nE assert (-1 + -1) >= 0\n\ntests/test_param.py:58: AssertionError"}, "teardown": {"duration": 0.00017367815598845482, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_dynamic[ten]", "lineno": 65, "outcome": "passed", "keywords": ["test_dynamic[ten]", "ten", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00018359487876296043, "outcome": "passed"}, "call": {"duration": 0.00014875712804496288, "outcome": "passed"}, "teardown": {"duration": 0.00012103421613574028, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_dynamic[twenty]", "lineno": 65, "outcome": "passed", "keywords": ["test_dynamic[twenty]", "twenty", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.000161327188834548, "outcome": "passed"}, "call": {"duration": 0.00012255203910171986, "outcome": "passed"}, "teardown": {"duration": 0.00011322088539600372, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_dynamic[thirty]", "lineno": 65, "outcome": "passed", "keywords": ["test_dynamic[thirty]", "thirty", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00016561103984713554, "outcome": "passed"}, "call": {"duration": 0.00011829310096800327, "outcome": "passed"}, "teardown": {"duration": 0.00011184508912265301, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f525]", "lineno": 74, "outcome": "passed", "keywords": ["test_element_type[\\U0001f525]", "\\U0001f525", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00015774089843034744, "outcome": "passed"}, "call": {"duration": 0.00012398092076182365, "outcome": "passed"}, "teardown": {"duration": 0.00011968589387834072, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f4a7]", "lineno": 74, "outcome": "passed", "keywords": ["test_element_type[\\U0001f4a7]", "\\U0001f4a7", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00016193301416933537, "outcome": "passed"}, "call": {"duration": 0.00011985516175627708, "outcome": "passed"}, "teardown": {"duration": 0.00010844203643500805, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f30d]", "lineno": 74, "outcome": "passed", "keywords": ["test_element_type[\\U0001f30d]", "\\U0001f30d", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00015816092491149902, "outcome": "passed"}, "call": {"duration": 0.00012947502546012402, "outcome": "passed"}, "teardown": {"duration": 0.00011123507283627987, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[a-1]", "lineno": 78, "outcome": "passed", "keywords": ["test_combination[a-1]", "parametrize", "pytestmark", "a-1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00021074782125651836, "outcome": "passed"}, "call": {"duration": 0.00012165913358330727, "outcome": "passed"}, "teardown": {"duration": 0.00012376694940030575, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[a-2]", "lineno": 78, "outcome": "passed", "keywords": ["test_combination[a-2]", "parametrize", "pytestmark", "a-2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00021684984676539898, "outcome": "passed"}, "call": {"duration": 0.00012664217501878738, "outcome": "passed"}, "teardown": {"duration": 0.00012422003783285618, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[b-1]", "lineno": 78, "outcome": "passed", "keywords": ["test_combination[b-1]", "parametrize", "pytestmark", "b-1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00020368513651192188, "outcome": "passed"}, "call": {"duration": 0.00012206495739519596, "outcome": "passed"}, "teardown": {"duration": 0.00012804614380002022, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[b-2]", "lineno": 78, "outcome": "passed", "keywords": ["test_combination[b-2]", "parametrize", "pytestmark", "b-2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002135110553354025, "outcome": "passed"}, "call": {"duration": 0.0001281748991459608, "outcome": "passed"}, "teardown": {"duration": 0.00012489408254623413, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_indirect_fixture[1]", "lineno": 89, "outcome": "passed", "keywords": ["test_indirect_fixture[1]", "parametrize", "pytestmark", "1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0001582619734108448, "outcome": "passed"}, "call": {"duration": 0.00012853601947426796, "outcome": "passed"}, "teardown": {"duration": 0.00011244602501392365, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_indirect_fixture[2]", "lineno": 89, "outcome": "passed", "keywords": ["test_indirect_fixture[2]", "parametrize", "pytestmark", "2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0001595909707248211, "outcome": "passed"}, "call": {"duration": 0.00013073207810521126, "outcome": "passed"}, "teardown": {"duration": 0.00011006207205355167, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_addition", "lineno": 94, "outcome": "failed", "keywords": ["test_addition", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00010111811570823193, "outcome": "passed"}, "call": {"duration": 0.00014208490028977394, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_param.py", "lineno": 97, "message": "NameError: name 'addition' is not defined"}, "traceback": [{"path": "tests/test_param.py", "lineno": 97, "message": "NameError"}], "longrepr": "a = 5, b = 5, expected = 10\n\n def test_addition(a = 5, b = 5, expected = 10):\n # Has to pass\n> assert addition(a, b) == expected\nE NameError: name 'addition' is not defined\n\ntests/test_param.py:97: NameError"}, "teardown": {"duration": 0.0001400550827383995, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_basic_error", "lineno": 99, "outcome": "error", "keywords": ["test_basic_error", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0001555879134684801, "outcome": "failed", "longrepr": "file /workspace/tligui_y/slic/tests/test_param.py, line 100\n def test_basic_error(x):\nE fixture 'x' not found\n> available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, complex_setup, cov, doctest_namespace, element, extra, extras, include_metadata_in_junit_xml, json_metadata, metadata, monkeypatch, no_cover, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory\n> use 'pytest --fixtures [testpath]' for help on them.\n\n/workspace/tligui_y/slic/tests/test_param.py:100"}, "teardown": {"duration": 0.00012214714661240578, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "lineno": 9, "outcome": "passed", "keywords": ["test_uppercase_normal", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012152898125350475, "outcome": "passed"}, "call": {"duration": 0.00014365208335220814, "outcome": "passed"}, "teardown": {"duration": 0.00010572187602519989, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "lineno": 13, "outcome": "failed", "keywords": ["test_uppercase_type_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010459101758897305, "outcome": "passed"}, "call": {"duration": 0.00016043893992900848, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/functions/string_utils.py", "lineno": 3, "message": "TypeError: Input cannot be None"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 16, "message": ""}, {"path": "functions/string_utils.py", "lineno": 3, "message": "TypeError"}], "longrepr": "def test_uppercase_type_error():\n # TypeError when input is None (invalid input)\n> uppercase(None)\n\ntests/test_string_utils.py:16: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\ns = None\n\n def uppercase(s):\n if s is None:\n> raise TypeError(\"Input cannot be None\")\nE TypeError: Input cannot be None\n\nfunctions/string_utils.py:3: TypeError"}, "teardown": {"duration": 0.00013717403635382652, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "lineno": 17, "outcome": "passed", "keywords": ["test_reverse_string", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011941185221076012, "outcome": "passed"}, "call": {"duration": 0.00015450711362063885, "outcome": "passed"}, "teardown": {"duration": 0.000103397062048316, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "lineno": 21, "outcome": "passed", "keywords": ["test_warning_emit", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011576199904084206, "outcome": "passed"}, "call": {"duration": 0.00014197500422596931, "outcome": "passed"}, "teardown": {"duration": 9.577791206538677e-05, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "lineno": 25, "outcome": "failed", "keywords": ["test_unicode_decode_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010264990851283073, "outcome": "passed"}, "call": {"duration": 0.0001419049222022295, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 28, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 28, "message": "UnicodeDecodeError"}], "longrepr": "def test_unicode_decode_error():\n # UnicodeDecodeError when decoding invalid byte sequence\n> b'\\xff'.decode('utf-8')\nE UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte\n\ntests/test_string_utils.py:28: UnicodeDecodeError"}, "teardown": {"duration": 0.00013476493768393993, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "lineno": 29, "outcome": "failed", "keywords": ["test_unicode_decode_surrogateescape", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012037600390613079, "outcome": "passed"}, "call": {"duration": 0.00015958398580551147, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 32, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 32, "message": "UnicodeDecodeError"}], "longrepr": "def test_unicode_decode_surrogateescape():\n # UnicodeDecodeError with strict error handler on invalid byte\n> b\"\\x80\".decode(\"utf-8\", errors=\"strict\")\nE UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte\n\ntests/test_string_utils.py:32: UnicodeDecodeError"}, "teardown": {"duration": 0.00014388607814908028, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_syntax_warning", "lineno": 33, "outcome": "passed", "keywords": ["test_syntax_warning", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011507398448884487, "outcome": "passed"}, "call": {"duration": 0.00013995100744068623, "outcome": "passed"}, "teardown": {"duration": 0.00010072696022689342, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "lineno": 37, "outcome": "xfailed", "keywords": ["test_xfail_uppercase_digits", "xfail", "pytestmark", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012521003372967243, "outcome": "passed"}, "call": {"duration": 0.0006292511243373156, "outcome": "skipped", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 41, "message": "AssertionError: assert 'ABC123' == 'ABC1234'\n \n - ABC1234\n ? -\n + ABC123"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 41, "message": "AssertionError"}], "longrepr": "@pytest.mark.xfail(reason=\"Expected failure: uppercase does not handle digits\")\n def test_xfail_uppercase_digits():\n # Expected fail test because uppercase won't change digits\n> assert uppercase(\"abc123\") == \"ABC1234\"\nE AssertionError: assert 'ABC123' == 'ABC1234'\nE \nE - ABC1234\nE ? -\nE + ABC123\n\ntests/test_string_utils.py:41: AssertionError"}, "teardown": {"duration": 0.00024207192473113537, "outcome": "passed"}}], "warnings": [{"message": "Test warning", "category": "UserWarning", "when": "runtest", "filename": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 24}, {"message": "This is a syntax warning", "category": "SyntaxWarning", "when": "runtest", "filename": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 36}]} \ No newline at end of file +{"created": 1753088106.4233248, "duration": 0.6685476303100586, "exitcode": 1, "root": "/workspace/tligui_y/slic", "environment": {}, "summary": {"passed": 37, "failed": 33, "xfailed": 2, "skipped": 1, "error": 1, "total": 74, "collected": 74}, "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_write_file", "type": "Function", "lineno": 9}, {"nodeid": "tests/test_io_utils.py::test_read_file", "type": "Function", "lineno": 15}, {"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_in_readonly_mode", "type": "Function", "lineno": 58}, {"nodeid": "tests/test_io_utils.py::test_file_not_found_error", "type": "Function", "lineno": 67}]}, {"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": 129}]}, {"nodeid": "tests/test_param.py", "outcome": "passed", "result": [{"nodeid": "tests/test_param.py::test_basic_ids[one]", "type": "Function", "lineno": 3}, {"nodeid": "tests/test_param.py::test_basic_ids[two]", "type": "Function", "lineno": 3}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[ten]", "type": "Function", "lineno": 11}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[twenty]", "type": "Function", "lineno": 11}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[1-2]", "type": "Function", "lineno": 19}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[3-4]", "type": "Function", "lineno": 19}, {"nodeid": "tests/test_param.py::test_non_literal_with_id[custom-obj]", "type": "Function", "lineno": 27}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a0-b0-expected0]", "type": "Function", "lineno": 43}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a1-b1-expected1]", "type": "Function", "lineno": 43}, {"nodeid": "tests/test_param.py::test_sum_positive[one]", "type": "Function", "lineno": 55}, {"nodeid": "tests/test_param.py::test_sum_positive[two]", "type": "Function", "lineno": 55}, {"nodeid": "tests/test_param.py::test_sum_positive[edge]", "type": "Function", "lineno": 55}, {"nodeid": "tests/test_param.py::test_dynamic[ten]", "type": "Function", "lineno": 65}, {"nodeid": "tests/test_param.py::test_dynamic[twenty]", "type": "Function", "lineno": 65}, {"nodeid": "tests/test_param.py::test_dynamic[thirty]", "type": "Function", "lineno": 65}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f525]", "type": "Function", "lineno": 74}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f4a7]", "type": "Function", "lineno": 74}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f30d]", "type": "Function", "lineno": 74}, {"nodeid": "tests/test_param.py::test_combination[a-1]", "type": "Function", "lineno": 78}, {"nodeid": "tests/test_param.py::test_combination[a-2]", "type": "Function", "lineno": 78}, {"nodeid": "tests/test_param.py::test_combination[b-1]", "type": "Function", "lineno": 78}, {"nodeid": "tests/test_param.py::test_combination[b-2]", "type": "Function", "lineno": 78}, {"nodeid": "tests/test_param.py::test_indirect_fixture[1]", "type": "Function", "lineno": 89}, {"nodeid": "tests/test_param.py::test_indirect_fixture[2]", "type": "Function", "lineno": 89}, {"nodeid": "tests/test_param.py::test_addition", "type": "Function", "lineno": 94}, {"nodeid": "tests/test_param.py::test_basic_error", "type": "Function", "lineno": 99}]}, {"nodeid": "tests/test_string_utils.py", "outcome": "passed", "result": [{"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "type": "Function", "lineno": 9}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "type": "Function", "lineno": 13}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "type": "Function", "lineno": 17}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "type": "Function", "lineno": 21}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "type": "Function", "lineno": 25}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "type": "Function", "lineno": 29}, {"nodeid": "tests/test_string_utils.py::test_syntax_warning", "type": "Function", "lineno": 33}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "type": "Function", "lineno": 37}]}, {"nodeid": "tests", "outcome": "passed", "result": [{"nodeid": "tests/test_broken_fct.py", "type": "Module"}, {"nodeid": "tests/test_collector_error.py", "type": "Module"}, {"nodeid": "tests/test_io_utils.py", "type": "Module"}, {"nodeid": "tests/test_math_utils.py", "type": "Module"}, {"nodeid": "tests/test_param.py", "type": "Module"}, {"nodeid": "tests/test_string_utils.py", "type": "Module"}]}, {"nodeid": ".", "outcome": "passed", "result": [{"nodeid": "ci-reports", "type": "Dir"}, {"nodeid": "functions", "type": "Package"}, {"nodeid": "tests", "type": "Dir"}]}], "tests": [{"nodeid": "tests/test_io_utils.py::test_write_file", "lineno": 9, "outcome": "passed", "keywords": ["test_write_file", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.003856702009215951, "outcome": "passed"}, "call": {"duration": 0.0005525858141481876, "outcome": "passed"}, "teardown": {"duration": 0.00030047004111111164, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_read_file", "lineno": 15, "outcome": "passed", "keywords": ["test_read_file", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0005150521174073219, "outcome": "passed"}, "call": {"duration": 0.0003016199916601181, "outcome": "passed"}, "teardown": {"duration": 0.00013776496052742004, "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.00014378386549651623, "outcome": "passed"}, "call": {"duration": 0.00016592885367572308, "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.00016856100410223007, "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.00014707818627357483, "outcome": "passed"}, "call": {"duration": 0.00019746506586670876, "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.00015362398698925972, "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.0002510719932615757, "outcome": "passed"}, "call": {"duration": 0.0001884701196104288, "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 0x7f94644dd880>\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.00019052904099225998, "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.00023749214597046375, "outcome": "passed"}, "call": {"duration": 0.0034683060366660357, "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 0x7f946688ee20>\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.00032648886553943157, "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.00015577487647533417, "outcome": "passed"}, "call": {"duration": 0.0001971579622477293, "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.00019021681509912014, "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.0002492191269993782, "outcome": "passed"}, "call": {"duration": 0.0001999561209231615, "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 0x7f94643b4670>\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.00022182799875736237, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_write_file_in_readonly_mode", "lineno": 58, "outcome": "passed", "keywords": ["test_write_file_in_readonly_mode", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0006900650914758444, "outcome": "passed"}, "call": {"duration": 0.0009528270456939936, "outcome": "passed"}, "teardown": {"duration": 0.00016214605420827866, "outcome": "passed"}}, {"nodeid": "tests/test_io_utils.py::test_file_not_found_error", "lineno": 67, "outcome": "failed", "keywords": ["test_file_not_found_error", "test_io_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012068403884768486, "outcome": "passed"}, "call": {"duration": 0.00017758202739059925, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_io_utils.py", "lineno": 70, "message": "FileNotFoundError: [Errno 2] No such file or directory: 'no_such_file.txt'"}, "traceback": [{"path": "tests/test_io_utils.py", "lineno": 70, "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:70: FileNotFoundError"}, "teardown": {"duration": 0.0001577709335833788, "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.00013847299851477146, "outcome": "passed"}, "call": {"duration": 0.00016208901070058346, "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.00015345308929681778, "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.00012953300029039383, "outcome": "passed"}, "call": {"duration": 0.0001620680559426546, "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.00014879601076245308, "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.0003491109237074852, "outcome": "passed"}, "call": {"duration": 0.0001570531167089939, "outcome": "passed"}, "teardown": {"duration": 0.00015607522800564766, "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.00026477500796318054, "outcome": "passed"}, "call": {"duration": 0.00014081993140280247, "outcome": "passed"}, "teardown": {"duration": 0.00015572807751595974, "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.0002384418621659279, "outcome": "passed"}, "call": {"duration": 0.00012684985995292664, "outcome": "passed"}, "teardown": {"duration": 0.0001454218290746212, "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.0002366490662097931, "outcome": "passed"}, "call": {"duration": 0.00013164803385734558, "outcome": "passed"}, "teardown": {"duration": 0.00014750403352081776, "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.00024665682576596737, "outcome": "passed"}, "call": {"duration": 0.00013206806033849716, "outcome": "passed"}, "teardown": {"duration": 0.00013701897114515305, "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.0002676299773156643, "outcome": "passed"}, "call": {"duration": 0.00012983707711100578, "outcome": "passed"}, "teardown": {"duration": 0.00014057080261409283, "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.00024703494273126125, "outcome": "passed"}, "call": {"duration": 0.00013828417286276817, "outcome": "passed"}, "teardown": {"duration": 0.00013383198529481888, "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.00023342808708548546, "outcome": "passed"}, "call": {"duration": 0.00013335701078176498, "outcome": "passed"}, "teardown": {"duration": 0.00014397618360817432, "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.00010456587187945843, "outcome": "passed"}, "call": {"duration": 0.0005118260160088539, "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.00015070312656462193, "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.00011925492435693741, "outcome": "passed"}, "call": {"duration": 0.0001610228791832924, "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.00014154007658362389, "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.00013698800466954708, "outcome": "passed"}, "call": {"duration": 0.0002747469116002321, "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.00014183204621076584, "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.00011783698573708534, "outcome": "passed"}, "call": {"duration": 0.00015410804189741611, "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.0001396690495312214, "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.00011826399713754654, "outcome": "passed"}, "call": {"duration": 0.00015084585174918175, "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.00013838405720889568, "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.0001208130270242691, "outcome": "passed"}, "call": {"duration": 0.00016775494441390038, "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.00014156592078506947, "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.00012254598550498486, "outcome": "passed"}, "call": {"duration": 0.0008121260907500982, "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.00022493000142276287, "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.00014621298760175705, "outcome": "passed"}, "call": {"duration": 0.00017222692258656025, "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.00016740593127906322, "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.0001295038964599371, "outcome": "passed"}, "call": {"duration": 0.00016892515122890472, "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.00015065004117786884, "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.00012517813593149185, "outcome": "passed"}, "call": {"duration": 0.00016497308388352394, "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.00015886384062469006, "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.00015184609219431877, "outcome": "passed"}, "call": {"duration": 0.00018385890871286392, "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.0001478828489780426, "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.00012115901336073875, "outcome": "passed"}, "call": {"duration": 0.00015492807142436504, "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.00015801307745277882, "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.00012165284715592861, "outcome": "passed"}, "call": {"duration": 0.00017273682169616222, "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.00014791707508265972, "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.00013295095413923264, "outcome": "passed"}, "call": {"duration": 0.00015597487799823284, "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 0x7f9464578670>\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.00026600086130201817, "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.0001442781649529934, "outcome": "passed"}, "call": {"duration": 0.00017967401072382927, "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.00020712800323963165, "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.00013473909348249435, "outcome": "passed"}, "call": {"duration": 0.00019974494352936745, "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.00016916287131607533, "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.00012888689525425434, "outcome": "passed"}, "call": {"duration": 0.00018246890977025032, "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.00016139796935021877, "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.00013355002738535404, "outcome": "passed"}, "call": {"duration": 0.000162036856636405, "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.0001667211763560772, "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.00013253511860966682, "outcome": "passed"}, "call": {"duration": 0.00016469694674015045, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_math_utils.py", "lineno": 128, "message": "ImportError: Simulated ImportError"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 128, "message": "ImportError"}], "longrepr": "def test_import_error():\n # Directly raise ImportError exception\n> raise ImportError(\"Simulated ImportError\")\nE ImportError: Simulated ImportError\n\ntests/test_math_utils.py:128: ImportError"}, "teardown": {"duration": 0.00016071205027401447, "outcome": "passed"}}, {"nodeid": "tests/test_math_utils.py::test_module_not_found_error", "lineno": 129, "outcome": "failed", "keywords": ["test_module_not_found_error", "test_math_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012908503413200378, "outcome": "passed"}, "call": {"duration": 0.0005018811207264662, "outcome": "failed", "crash": {"path": "", "lineno": 973, "message": "ModuleNotFoundError: No module named 'non_existent_module_xyz'"}, "traceback": [{"path": "tests/test_math_utils.py", "lineno": 132, "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:132: \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.00023000198416411877, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_basic_ids[one]", "lineno": 3, "outcome": "passed", "keywords": ["test_basic_ids[one]", "parametrize", "pytestmark", "one", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00030287005938589573, "outcome": "passed"}, "call": {"duration": 0.00015990808606147766, "outcome": "passed"}, "teardown": {"duration": 0.00013053696602582932, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_basic_ids[two]", "lineno": 3, "outcome": "passed", "keywords": ["test_basic_ids[two]", "parametrize", "pytestmark", "two", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00019052880816161633, "outcome": "passed"}, "call": {"duration": 0.0001276989933103323, "outcome": "passed"}, "teardown": {"duration": 0.00011281715705990791, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[ten]", "lineno": 11, "outcome": "passed", "keywords": ["test_with_reason_and_marks[ten]", "parametrize", "pytestmark", "ten", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00016922783106565475, "outcome": "passed"}, "call": {"duration": 0.0001225820742547512, "outcome": "passed"}, "teardown": {"duration": 0.00011446606367826462, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_with_reason_and_marks[twenty]", "lineno": 11, "outcome": "skipped", "keywords": ["test_with_reason_and_marks[twenty]", "parametrize", "skip", "pytestmark", "twenty", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002818929497152567, "outcome": "skipped", "longrepr": "('/workspace/tligui_y/slic/tests/test_param.py', 12, 'Skipped: nope')"}, "teardown": {"duration": 0.00011402880772948265, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[1-2]", "lineno": 19, "outcome": "passed", "keywords": ["test_multiple_positional_args[1-2]", "parametrize", "pytestmark", "1-2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00022603501565754414, "outcome": "passed"}, "call": {"duration": 0.00013117492198944092, "outcome": "passed"}, "teardown": {"duration": 0.00013003195635974407, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_multiple_positional_args[3-4]", "lineno": 19, "outcome": "passed", "keywords": ["test_multiple_positional_args[3-4]", "parametrize", "pytestmark", "3-4", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00020632101222872734, "outcome": "passed"}, "call": {"duration": 0.00012446008622646332, "outcome": "passed"}, "teardown": {"duration": 0.00012199394404888153, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_non_literal_with_id[custom-obj]", "lineno": 27, "outcome": "passed", "keywords": ["test_non_literal_with_id[custom-obj]", "parametrize", "pytestmark", "custom-obj", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00015409104526042938, "outcome": "passed"}, "call": {"duration": 0.00012291595339775085, "outcome": "passed"}, "teardown": {"duration": 0.00011948402971029282, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a0-b0-expected0]", "lineno": 43, "outcome": "passed", "keywords": ["test_timedistance_v1[a0-b0-expected0]", "parametrize", "pytestmark", "a0-b0-expected0", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002501499839127064, "outcome": "passed"}, "call": {"duration": 0.00012988108210265636, "outcome": "passed"}, "teardown": {"duration": 0.00013508694246411324, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_timedistance_v1[a1-b1-expected1]", "lineno": 43, "outcome": "passed", "keywords": ["test_timedistance_v1[a1-b1-expected1]", "parametrize", "pytestmark", "a1-b1-expected1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002412470057606697, "outcome": "passed"}, "call": {"duration": 0.00012941891327500343, "outcome": "passed"}, "teardown": {"duration": 0.00013470486737787724, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_sum_positive[one]", "lineno": 55, "outcome": "passed", "keywords": ["test_sum_positive[one]", "parametrize", "pytestmark", "one", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00019600195810198784, "outcome": "passed"}, "call": {"duration": 0.00012511108070611954, "outcome": "passed"}, "teardown": {"duration": 0.00012852298095822334, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_sum_positive[two]", "lineno": 55, "outcome": "passed", "keywords": ["test_sum_positive[two]", "parametrize", "pytestmark", "two", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00020308000966906548, "outcome": "passed"}, "call": {"duration": 0.00012640096247196198, "outcome": "passed"}, "teardown": {"duration": 0.00012288708239793777, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_sum_positive[edge]", "lineno": 55, "outcome": "failed", "keywords": ["test_sum_positive[edge]", "parametrize", "pytestmark", "edge", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002010120078921318, "outcome": "passed"}, "call": {"duration": 0.0002834550105035305, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_param.py", "lineno": 58, "message": "assert (-1 + -1) >= 0"}, "traceback": [{"path": "tests/test_param.py", "lineno": 58, "message": "AssertionError"}], "longrepr": "x = -1, y = -1\n\n @pytest.mark.parametrize(\"x, y\", [(param[\"x\"], param[\"y\"]) for _, param in scenarios], ids=[name for name, _ in scenarios])\n def test_sum_positive(x, y):\n> assert (x + y) >= 0\nE assert (-1 + -1) >= 0\n\ntests/test_param.py:58: AssertionError"}, "teardown": {"duration": 0.00020631705410778522, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_dynamic[ten]", "lineno": 65, "outcome": "passed", "keywords": ["test_dynamic[ten]", "ten", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00022013788111507893, "outcome": "passed"}, "call": {"duration": 0.00013730092905461788, "outcome": "passed"}, "teardown": {"duration": 0.00011878111399710178, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_dynamic[twenty]", "lineno": 65, "outcome": "passed", "keywords": ["test_dynamic[twenty]", "twenty", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00017153983935713768, "outcome": "passed"}, "call": {"duration": 0.0001276661641895771, "outcome": "passed"}, "teardown": {"duration": 0.00011377804912626743, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_dynamic[thirty]", "lineno": 65, "outcome": "passed", "keywords": ["test_dynamic[thirty]", "thirty", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0001703309826552868, "outcome": "passed"}, "call": {"duration": 0.00012177298776805401, "outcome": "passed"}, "teardown": {"duration": 0.00011164089664816856, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f525]", "lineno": 74, "outcome": "passed", "keywords": ["test_element_type[\\U0001f525]", "\\U0001f525", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00016881991177797318, "outcome": "passed"}, "call": {"duration": 0.00012758001685142517, "outcome": "passed"}, "teardown": {"duration": 0.00011368002742528915, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f4a7]", "lineno": 74, "outcome": "passed", "keywords": ["test_element_type[\\U0001f4a7]", "\\U0001f4a7", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.000160672003403306, "outcome": "passed"}, "call": {"duration": 0.0001292959786951542, "outcome": "passed"}, "teardown": {"duration": 0.00010977592319250107, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_element_type[\\U0001f30d]", "lineno": 74, "outcome": "passed", "keywords": ["test_element_type[\\U0001f30d]", "\\U0001f30d", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0001558938529342413, "outcome": "passed"}, "call": {"duration": 0.00011727004311978817, "outcome": "passed"}, "teardown": {"duration": 0.00010814913548529148, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[a-1]", "lineno": 78, "outcome": "passed", "keywords": ["test_combination[a-1]", "parametrize", "pytestmark", "a-1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00020664697512984276, "outcome": "passed"}, "call": {"duration": 0.000125381862744689, "outcome": "passed"}, "teardown": {"duration": 0.0001253338996320963, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[a-2]", "lineno": 78, "outcome": "passed", "keywords": ["test_combination[a-2]", "parametrize", "pytestmark", "a-2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002031268086284399, "outcome": "passed"}, "call": {"duration": 0.00012786989100277424, "outcome": "passed"}, "teardown": {"duration": 0.0001281260047107935, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[b-1]", "lineno": 78, "outcome": "passed", "keywords": ["test_combination[b-1]", "parametrize", "pytestmark", "b-1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0002031121402978897, "outcome": "passed"}, "call": {"duration": 0.0001228759065270424, "outcome": "passed"}, "teardown": {"duration": 0.0001269560307264328, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_combination[b-2]", "lineno": 78, "outcome": "passed", "keywords": ["test_combination[b-2]", "parametrize", "pytestmark", "b-2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00020456896163523197, "outcome": "passed"}, "call": {"duration": 0.00012529105879366398, "outcome": "passed"}, "teardown": {"duration": 0.00013327295891940594, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_indirect_fixture[1]", "lineno": 89, "outcome": "passed", "keywords": ["test_indirect_fixture[1]", "parametrize", "pytestmark", "1", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00017057592049241066, "outcome": "passed"}, "call": {"duration": 0.00012337509542703629, "outcome": "passed"}, "teardown": {"duration": 0.00012849201448261738, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_indirect_fixture[2]", "lineno": 89, "outcome": "passed", "keywords": ["test_indirect_fixture[2]", "parametrize", "pytestmark", "2", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00016891304403543472, "outcome": "passed"}, "call": {"duration": 0.00012408103793859482, "outcome": "passed"}, "teardown": {"duration": 0.00011088117025792599, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_addition", "lineno": 94, "outcome": "failed", "keywords": ["test_addition", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.00010216096416115761, "outcome": "passed"}, "call": {"duration": 0.0001658161636441946, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_param.py", "lineno": 97, "message": "NameError: name 'addition' is not defined"}, "traceback": [{"path": "tests/test_param.py", "lineno": 97, "message": "NameError"}], "longrepr": "a = 5, b = 5, expected = 10\n\n def test_addition(a = 5, b = 5, expected = 10):\n # Has to pass\n> assert addition(a, b) == expected\nE NameError: name 'addition' is not defined\n\ntests/test_param.py:97: NameError"}, "teardown": {"duration": 0.00017843605019152164, "outcome": "passed"}}, {"nodeid": "tests/test_param.py::test_basic_error", "lineno": 99, "outcome": "error", "keywords": ["test_basic_error", "test_param.py", "tests", "slic", ""], "setup": {"duration": 0.0001889229752123356, "outcome": "failed", "longrepr": "file /workspace/tligui_y/slic/tests/test_param.py, line 100\n def test_basic_error(x):\nE fixture 'x' not found\n> available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, complex_setup, cov, doctest_namespace, element, extra, extras, include_metadata_in_junit_xml, json_metadata, metadata, monkeypatch, no_cover, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory\n> use 'pytest --fixtures [testpath]' for help on them.\n\n/workspace/tligui_y/slic/tests/test_param.py:100"}, "teardown": {"duration": 0.00014326698146760464, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_normal", "lineno": 9, "outcome": "passed", "keywords": ["test_uppercase_normal", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00013894401490688324, "outcome": "passed"}, "call": {"duration": 0.00016196700744330883, "outcome": "passed"}, "teardown": {"duration": 0.000116321025416255, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_uppercase_type_error", "lineno": 13, "outcome": "failed", "keywords": ["test_uppercase_type_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00011103181168437004, "outcome": "passed"}, "call": {"duration": 0.00016492302529513836, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/functions/string_utils.py", "lineno": 3, "message": "TypeError: Input cannot be None"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 16, "message": ""}, {"path": "functions/string_utils.py", "lineno": 3, "message": "TypeError"}], "longrepr": "def test_uppercase_type_error():\n # TypeError when input is None (invalid input)\n> uppercase(None)\n\ntests/test_string_utils.py:16: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\ns = None\n\n def uppercase(s):\n if s is None:\n> raise TypeError(\"Input cannot be None\")\nE TypeError: Input cannot be None\n\nfunctions/string_utils.py:3: TypeError"}, "teardown": {"duration": 0.00016301218420267105, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_reverse_string", "lineno": 17, "outcome": "passed", "keywords": ["test_reverse_string", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00013541383668780327, "outcome": "passed"}, "call": {"duration": 0.0001455480232834816, "outcome": "passed"}, "teardown": {"duration": 0.00010279309935867786, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_warning_emit", "lineno": 21, "outcome": "passed", "keywords": ["test_warning_emit", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010557216592133045, "outcome": "passed"}, "call": {"duration": 0.00014668190851807594, "outcome": "passed"}, "teardown": {"duration": 9.596208110451698e-05, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_error", "lineno": 25, "outcome": "failed", "keywords": ["test_unicode_decode_error", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00010773190297186375, "outcome": "passed"}, "call": {"duration": 0.00016094185411930084, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 28, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 28, "message": "UnicodeDecodeError"}], "longrepr": "def test_unicode_decode_error():\n # UnicodeDecodeError when decoding invalid byte sequence\n> b'\\xff'.decode('utf-8')\nE UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte\n\ntests/test_string_utils.py:28: UnicodeDecodeError"}, "teardown": {"duration": 0.00015419907867908478, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_unicode_decode_surrogateescape", "lineno": 29, "outcome": "failed", "keywords": ["test_unicode_decode_surrogateescape", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012211594730615616, "outcome": "passed"}, "call": {"duration": 0.0001591769978404045, "outcome": "failed", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 32, "message": "UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 32, "message": "UnicodeDecodeError"}], "longrepr": "def test_unicode_decode_surrogateescape():\n # UnicodeDecodeError with strict error handler on invalid byte\n> b\"\\x80\".decode(\"utf-8\", errors=\"strict\")\nE UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte\n\ntests/test_string_utils.py:32: UnicodeDecodeError"}, "teardown": {"duration": 0.00014781695790588856, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_syntax_warning", "lineno": 33, "outcome": "passed", "keywords": ["test_syntax_warning", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.0001352860126644373, "outcome": "passed"}, "call": {"duration": 0.00017297198064625263, "outcome": "passed"}, "teardown": {"duration": 0.0001225820742547512, "outcome": "passed"}}, {"nodeid": "tests/test_string_utils.py::test_xfail_uppercase_digits", "lineno": 37, "outcome": "xfailed", "keywords": ["test_xfail_uppercase_digits", "xfail", "pytestmark", "test_string_utils.py", "tests", "slic", ""], "setup": {"duration": 0.00012513692490756512, "outcome": "passed"}, "call": {"duration": 0.0006522000767290592, "outcome": "skipped", "crash": {"path": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 41, "message": "AssertionError: assert 'ABC123' == 'ABC1234'\n \n - ABC1234\n ? -\n + ABC123"}, "traceback": [{"path": "tests/test_string_utils.py", "lineno": 41, "message": "AssertionError"}], "longrepr": "@pytest.mark.xfail(reason=\"Expected failure: uppercase does not handle digits\")\n def test_xfail_uppercase_digits():\n # Expected fail test because uppercase won't change digits\n> assert uppercase(\"abc123\") == \"ABC1234\"\nE AssertionError: assert 'ABC123' == 'ABC1234'\nE \nE - ABC1234\nE ? -\nE + ABC123\n\ntests/test_string_utils.py:41: AssertionError"}, "teardown": {"duration": 0.0002543351147323847, "outcome": "passed"}}], "warnings": [{"message": "Test warning", "category": "UserWarning", "when": "runtest", "filename": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 24}, {"message": "This is a syntax warning", "category": "SyntaxWarning", "when": "runtest", "filename": "/workspace/tligui_y/slic/tests/test_string_utils.py", "lineno": 36}]} \ No newline at end of file diff --git a/ci-reports/markdown/runtime_params.json b/ci-reports/markdown/runtime_params.json index c915ac8a..744bf837 100644 --- a/ci-reports/markdown/runtime_params.json +++ b/ci-reports/markdown/runtime_params.json @@ -266,7 +266,7 @@ "nodeid": "tests/test_param.py::test_non_literal_with_id[custom-obj]", "callspec": { "params": { - "data": "" + "data": "" }, "id": "custom-obj" }