152 KiB
⚠️ Test execution interrupted
The test run was interrupted by the user (reasons : KeyboardInterrupt or ...).
📋 Short test summary info
=========================== 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 "<string>", 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
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! KeyboardInterrupt !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
/workspace/tligui_y/slic/tests/test_string_utils.py:52: KeyboardInterrupt
(to show a full traceback on KeyboardInterrupt use --full-trace)
== 33 failed, 37 passed, 1 skipped, 2 xfailed, 2 warnings, 3 errors in 0.76s ===
🪵 Full raw pytest log
============================= test session starts ==============================
platform linux -- Python 3.8.20, pytest-8.3.4, pluggy-1.5.0
rootdir: /workspace/tligui_y/slic
plugins: cov-5.0.0, metadata-3.1.1, html-4.1.1, allure-pytest-2.13.5, json-report-1.5.0
collected 75 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)
<frozen importlib._bootstrap>:1014: in _gcd_import
???
<frozen importlib._bootstrap>:991: in _find_and_load
???
<frozen importlib._bootstrap>:975: in _find_and_load_unlocked
???
<frozen importlib._bootstrap>: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 <module>
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 0x7f4653b9f460>
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 0x7f4653f9adf0>
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 = <MagicMock name='open' spec='builtin_function_or_method' id='139940033308416'>
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 0x7f4653f6c0d0>
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 = <class '_pytest.runner.CallInfo'>
func = <function call_and_report.<locals>.<lambda> at 0x7f4653c3a670>
when = 'call'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
@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>
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 = <CaptureManager _method='no' _global_capturing=<MultiCapture out=None err=None in_=None _state='suspended' _in_suspended=False> _capture_fixture=None>
item = <Function test_stop_iteration_direct>
@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 "<string>", 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)
<frozen importlib._bootstrap>:1014: in _gcd_import
???
<frozen importlib._bootstrap>:991: in _find_and_load
???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
name = 'non_existent_module_xyz'
import_ = <function _gcd_import at 0x7f46582ab4c0>
> ???
E ModuleNotFoundError: No module named 'non_existent_module_xyz'
<frozen importlib._bootstrap>: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 "<string>", 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
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! KeyboardInterrupt !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
/workspace/tligui_y/slic/tests/test_string_utils.py:52: KeyboardInterrupt
(to show a full traceback on KeyboardInterrupt use --full-trace)
== 33 failed, 37 passed, 1 skipped, 2 xfailed, 2 warnings, 3 errors in 0.76s ===
🧪 Test Report
Generated on 2025-07-22 14:16:36 CEST
🧾 General Info
- duration: 0.7543473243713379
- root: /workspace/tligui_y/slic
- environment: {}
📋 Summary
- Passed: 38
- Failed: 33
- Xfailed: 2
- Skipped: 1
- Error: 1
- Total: 75
- Collected: 75
🔎 Tests
✅ Passed (38)
-
📄 test_io_utils.py
↳ Function: test_write_file
-
✅ Test 1
📌 Setup phase
duration:
0.003127171192318201outcome:
passed📌 Call phase
duration:
0.000460044015198946outcome:
passed📌 Teardown phase
duration:
0.00023637502454221249outcome:
passed
↳ Function: test_read_file
-
✅ Test 2
📌 Setup phase
duration:
0.00045256479643285275outcome:
passed📌 Call phase
duration:
0.00029500690288841724outcome:
passed📌 Teardown phase
duration:
0.00014071795158088207outcome:
passed
↳ Function: test_write_file_in_readonly_mode
-
✅ Test 9
📌 Setup phase
duration:
0.0005913102068006992outcome:
passed📌 Call phase
duration:
0.0008393789175897837outcome:
passed📌 Teardown phase
duration:
0.00013577588833868504outcome:
passed
-
-
📄 test_math_utils.py
↳ Function: test_addition_pass
-
✅ Test 13
(params: a=2, b=2, expected=4)📌 Runtime Parameters
params: a: 2 b: 2 expected: 4 id: 2-2-4📌 Setup phase
duration:
0.000274997903034091outcome:
passed📌 Call phase
duration:
0.00014888704754412174outcome:
passed📌 Teardown phase
duration:
0.00014776107855141163outcome:
passed -
✅ Test 14
(params: a=1, b=5, expected=6)📌 Runtime Parameters
params: a: 1 b: 5 expected: 6 id: 1-5-6📌 Setup phase
duration:
0.0002465848810970783outcome:
passed📌 Call phase
duration:
0.00014202878810465336outcome:
passed📌 Teardown phase
duration:
0.00013178098015487194outcome:
passed -
✅ Test 15
(params: a=3, b=4, expected=7)📌 Runtime Parameters
params: a: 3 b: 4 expected: 7 id: 3-4-7📌 Setup phase
duration:
0.00024101301096379757outcome:
passed📌 Call phase
duration:
0.00014324416406452656outcome:
passed📌 Teardown phase
duration:
0.00013298401609063148outcome:
passed -
✅ Test 16
(params: a=3, b=5, expected=8)📌 Runtime Parameters
params: a: 3 b: 5 expected: 8 id: 3-5-8📌 Setup phase
duration:
0.0002320348285138607outcome:
passed📌 Call phase
duration:
0.00013249111361801624outcome:
passed📌 Teardown phase
duration:
0.0001308009959757328outcome:
passed -
✅ Test 17
(params: a=3, b=6, expected=9)📌 Runtime Parameters
params: a: 3 b: 6 expected: 9 id: 3-6-9📌 Setup phase
duration:
0.00024029891937971115outcome:
passed📌 Call phase
duration:
0.00013662106357514858outcome:
passed📌 Teardown phase
duration:
0.0001331409439444542outcome:
passed
↳ Function: test_addition_pass_id
-
✅ Test 18
(params: a=2, b=2, expected=4)📌 Runtime Parameters
params: a: 2 b: 2 expected: 4 id: a=2,b=2,expected=4📌 Setup phase
duration:
0.0002354609314352274outcome:
passed📌 Call phase
duration:
0.00014643697068095207outcome:
passed📌 Teardown phase
duration:
0.00013262894935905933outcome:
passed -
✅ Test 19
(params: a=1, b=5, expected=6)📌 Runtime Parameters
params: a: 1 b: 5 expected: 6 id: a=1,b=5,expected=6📌 Setup phase
duration:
0.000231041107326746outcome:
passed📌 Call phase
duration:
0.00013674492947757244outcome:
passed📌 Teardown phase
duration:
0.00013268901966512203outcome:
passed -
✅ Test 20
(params: a=3, b=4, expected=7)📌 Runtime Parameters
params: a: 3 b: 4 expected: 7 id: a=3,b=4,expected=7📌 Setup phase
duration:
0.00023625511676073074outcome:
passed📌 Call phase
duration:
0.00013280101120471954outcome:
passed📌 Teardown phase
duration:
0.0001279059797525406outcome:
passed
-
-
📄 test_param.py
↳ Function: test_basic_ids
-
✅ Test 41
(params: x=1)📌 Runtime Parameters
params: x: 1 id: one📌 Setup phase
duration:
0.0002442058175802231outcome:
passed📌 Call phase
duration:
0.0001374250277876854outcome:
passed📌 Teardown phase
duration:
0.00013315817341208458outcome:
passed -
✅ Test 42
(params: x=2)📌 Runtime Parameters
params: x: 2 id: two📌 Setup phase
duration:
0.00018523097969591618outcome:
passed📌 Call phase
duration:
0.00012714113108813763outcome:
passed📌 Teardown phase
duration:
0.0001241189893335104outcome:
passed
↳ Function: test_with_reason_and_marks
-
✅ Test 43
(params: x=10)📌 Runtime Parameters
params: x: 10 id: ten📌 Setup phase
duration:
0.0001629700418561697outcome:
passed📌 Call phase
duration:
0.0001207590103149414outcome:
passed📌 Teardown phase
duration:
0.00010932702571153641outcome:
passed
↳ Function: test_multiple_positional_args
-
✅ Test 45
(params: a=1, b=2)📌 Runtime Parameters
params: a: 1 b: 2 id: 1-2📌 Setup phase
duration:
0.00022646505385637283outcome:
passed📌 Call phase
duration:
0.0001257800031453371outcome:
passed📌 Teardown phase
duration:
0.0001227930188179016outcome:
passed -
✅ Test 46
(params: a=3, b=4)📌 Runtime Parameters
params: a: 3 b: 4 id: 3-4📌 Setup phase
duration:
0.00020934292115271091outcome:
passed📌 Call phase
duration:
0.00012428313493728638outcome:
passed📌 Teardown phase
duration:
0.0001221878919750452outcome:
passed
↳ Function: test_non_literal_with_id
-
✅ Test 47
(params: data=(object object at 0x7f4656ac6d40))📌 Runtime Parameters
params: data: <object object at 0x7f4656ac6d40> id: custom-obj📌 Setup phase
duration:
0.00017368188127875328outcome:
passed📌 Call phase
duration:
0.00012485100887715816outcome:
passed📌 Teardown phase
duration:
0.00011228304356336594outcome:
passed
↳ Function: test_timedistance_v1
-
✅ Test 48
(params: a=2001-12-12 00:00:00, b=2001-12-11 00:00:00, expected=1 day, 0:00:00)📌 Runtime Parameters
params: a: 2001-12-12 00:00:00 b: 2001-12-11 00:00:00 expected: 1 day, 0:00:00 id: a0-b0-expected0📌 Setup phase
duration:
0.0002495748922228813outcome:
passed📌 Call phase
duration:
0.00012239092029631138outcome:
passed📌 Teardown phase
duration:
0.0001411831472069025outcome:
passed -
✅ Test 49
(params: a=2001-12-11 00:00:00, b=2001-12-12 00:00:00, expected=-1 day, 0:00:00)📌 Runtime Parameters
params: a: 2001-12-11 00:00:00 b: 2001-12-12 00:00:00 expected: -1 day, 0:00:00 id: a1-b1-expected1📌 Setup phase
duration:
0.00025183381512761116outcome:
passed📌 Call phase
duration:
0.0001275939866900444outcome:
passed📌 Teardown phase
duration:
0.00012988620437681675outcome:
passed
↳ Function: test_sum_positive
-
✅ Test 50
(params: x=1, y=2)📌 Runtime Parameters
params: x: 1 y: 2 id: one📌 Setup phase
duration:
0.00021187192760407925outcome:
passed📌 Call phase
duration:
0.00012215296737849712outcome:
passed📌 Teardown phase
duration:
0.00012564309872686863outcome:
passed -
✅ Test 51
(params: x=3, y=4)📌 Runtime Parameters
params: x: 3 y: 4 id: two📌 Setup phase
duration:
0.00023218290880322456outcome:
passed📌 Call phase
duration:
0.0001246519386768341outcome:
passed📌 Teardown phase
duration:
0.00012002512812614441outcome:
passed
↳ Function: test_dynamic
-
✅ Test 53
(params: val=10)📌 Runtime Parameters
params: val: 10 id: ten📌 Setup phase
duration:
0.0001841471530497074outcome:
passed📌 Call phase
duration:
0.00012887688353657722outcome:
passed📌 Teardown phase
duration:
0.00011754082515835762outcome:
passed -
✅ Test 54
(params: val=20)📌 Runtime Parameters
params: val: 20 id: twenty📌 Setup phase
duration:
0.00016175792552530766outcome:
passed📌 Call phase
duration:
0.0001264750026166439outcome:
passed📌 Teardown phase
duration:
0.00011478317901492119outcome:
passed -
✅ Test 55
(params: val=30)📌 Runtime Parameters
params: val: 30 id: thirty📌 Setup phase
duration:
0.00015746918506920338outcome:
passed📌 Call phase
duration:
0.00011882302351295948outcome:
passed📌 Teardown phase
duration:
0.00011976715177297592outcome:
passed
↳ Function: test_element_type
-
✅ Test 56
(params: element=fire)📌 Runtime Parameters
params: element: fire id: \U0001f525📌 Setup phase
duration:
0.00016128900460898876outcome:
passed📌 Call phase
duration:
0.00012357579544186592outcome:
passed📌 Teardown phase
duration:
0.00011158897541463375outcome:
passed -
✅ Test 57
(params: element=water)📌 Runtime Parameters
params: element: water id: \U0001f4a7📌 Setup phase
duration:
0.00015907897613942623outcome:
passed📌 Call phase
duration:
0.00011821999214589596outcome:
passed📌 Teardown phase
duration:
0.0001072390004992485outcome:
passed -
✅ Test 58
(params: element=earth)📌 Runtime Parameters
params: element: earth id: \U0001f30d📌 Setup phase
duration:
0.000163292046636343outcome:
passed📌 Call phase
duration:
0.00011593499220907688outcome:
passed📌 Teardown phase
duration:
0.00010616285726428032outcome:
passed
↳ Function: test_combination
-
✅ Test 59
(params: y=a, x=1)📌 Runtime Parameters
params: y: a x: 1 id: a-1📌 Setup phase
duration:
0.00020413589663803577outcome:
passed📌 Call phase
duration:
0.00012762704864144325outcome:
passed📌 Teardown phase
duration:
0.00012224819511175156outcome:
passed -
✅ Test 60
(params: y=a, x=2)📌 Runtime Parameters
params: y: a x: 2 id: a-2📌 Setup phase
duration:
0.0001988599542528391outcome:
passed📌 Call phase
duration:
0.00011959811672568321outcome:
passed📌 Teardown phase
duration:
0.00011924607679247856outcome:
passed -
✅ Test 61
(params: y=b, x=1)📌 Runtime Parameters
params: y: b x: 1 id: b-1📌 Setup phase
duration:
0.00020448514260351658outcome:
passed📌 Call phase
duration:
0.000125393969938159outcome:
passed📌 Teardown phase
duration:
0.00012157694436609745outcome:
passed -
✅ Test 62
(params: y=b, x=2)📌 Runtime Parameters
params: y: b x: 2 id: b-2📌 Setup phase
duration:
0.00019445782527327538outcome:
passed📌 Call phase
duration:
0.0001366769429296255outcome:
passed📌 Teardown phase
duration:
0.0001191399060189724outcome:
passed
↳ Function: test_indirect_fixture
-
✅ Test 63
(params: complex_setup=1)📌 Runtime Parameters
params: complex_setup: 1 id: 1📌 Setup phase
duration:
0.00016290508210659027outcome:
passed📌 Call phase
duration:
0.0001243001315742731outcome:
passed📌 Teardown phase
duration:
0.00011174706742167473outcome:
passed -
✅ Test 64
(params: complex_setup=2)📌 Runtime Parameters
params: complex_setup: 2 id: 2📌 Setup phase
duration:
0.0001549671869724989outcome:
passed📌 Call phase
duration:
0.00011884607374668121outcome:
passed📌 Teardown phase
duration:
0.00011124880984425545outcome:
passed
-
-
📄 test_string_utils.py
↳ Function: test_uppercase_normal
-
✅ Test 67
📌 Setup phase
duration:
0.00011956715025007725outcome:
passed📌 Call phase
duration:
0.0001406688243150711outcome:
passed📌 Teardown phase
duration:
0.00010104989632964134outcome:
passed
↳ Function: test_reverse_string
-
✅ Test 69
📌 Setup phase
duration:
0.00012111011892557144outcome:
passed📌 Call phase
duration:
0.0001391430851072073outcome:
passed📌 Teardown phase
duration:
0.00011099805124104023outcome:
passed
↳ Function: test_warning_emit
-
✅ Test 70
📌 Setup phase
duration:
0.00010522408410906792outcome:
passed📌 Call phase
duration:
0.00014200713485479355outcome:
passed📌 Teardown phase
duration:
9.662401862442493e-05outcome:
passed
↳ Function: test_syntax_warning
-
✅ Test 73
📌 Setup phase
duration:
0.00011464487761259079outcome:
passed📌 Call phase
duration:
0.00014321994967758656outcome:
passed📌 Teardown phase
duration:
0.00010527088306844234outcome:
passed
↳ Function: test_keyboard_interrupt_direct
-
✅ Test 75
📌 Setup phase
duration:
0.00011658016592264175outcome:
passed
-
❌ Failed (33)
-
📄 test_io_utils.py
↳ Function: test_cause_io_error
-
❌ Test 3
📌 Setup phase
duration:
0.00011181505396962166outcome:
passed📌 Call phase
duration:
0.00016287202015519142outcome:
failedcrash:
path: /workspace/tligui_y/slic/functions/io_utils.py lineno: 10 message: OSError: Forced IO Error for testingtraceback:
- path: tests/test_io_utils.py lineno: 25 message: None - path: functions/io_utils.py lineno: 10 message: OSErrorlongrepr:
def test_cause_io_error(): # Raises manual IOError to simulate IO failure > cause_io_error() tests/test_io_utils.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def cause_io_error(): > raise IOError("Forced IO Error for testing") E OSError: Forced IO Error for testing functions/io_utils.py:10: OSError📌 Teardown phase
duration:
0.00013995193876326084outcome:
passed
↳ Function: test_file_not_found
-
❌ Test 4
📌 Setup phase
duration:
0.00012210989370942116outcome:
passed📌 Call phase
duration:
0.00018649897538125515outcome:
failedcrash:
path: /workspace/tligui_y/slic/functions/io_utils.py lineno: 2 message: FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.file'traceback:
- path: tests/test_io_utils.py lineno: 29 message: None - path: functions/io_utils.py lineno: 2 message: FileNotFoundErrorlongrepr:
def test_file_not_found(): # Reading non-existing file raises FileNotFoundError > read_file("nonexistent.file") tests/test_io_utils.py:29: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ path = 'nonexistent.file' def read_file(path): > with open(path, "r", encoding="utf-8") as f: E FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent.file' functions/io_utils.py:2: FileNotFoundError📌 Teardown phase
duration:
0.00013819406740367413outcome:
passed
↳ Function: test_permission_error
-
❌ Test 5
📌 Setup phase
duration:
0.000188145088031888outcome:
passed📌 Call phase
duration:
0.00016653095372021198outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_io_utils.py lineno: 34 message: PermissionError: Permission deniedtraceback:
- path: tests/test_io_utils.py lineno: 36 message: None - path: functions/io_utils.py lineno: 2 message: in read_file - path: tests/test_io_utils.py lineno: 34 message: PermissionErrorlongrepr:
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f4653b9f460> def test_permission_error(monkeypatch): # Patch open to raise PermissionError simulating access denial def raise_perm_error(*args, **kwargs): raise PermissionError("Permission denied") monkeypatch.setattr("builtins.open", raise_perm_error) > read_file("anyfile.txt") tests/test_io_utils.py:36: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ functions/io_utils.py:2: in read_file with open(path, "r", encoding="utf-8") as f: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = ('anyfile.txt', 'r'), kwargs = {'encoding': 'utf-8'} def raise_perm_error(*args, **kwargs): > raise PermissionError("Permission denied") E PermissionError: Permission denied tests/test_io_utils.py:34: PermissionError📌 Teardown phase
duration:
0.00015965220518410206outcome:
passed
↳ Function: test_mock_open_error
-
❌ Test 6
📌 Setup phase
duration:
0.0001903099473565817outcome:
passed📌 Call phase
duration:
0.003129048040136695outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/unittest/mock.py lineno: 1140 message: OSError: Mocked IOErrortraceback:
- path: tests/test_io_utils.py lineno: 43 message: None - path: .pixi/envs/default/lib/python3.8/unittest/mock.py lineno: 1081 message: in __call__ - path: .pixi/envs/default/lib/python3.8/unittest/mock.py lineno: 1085 message: in _mock_call - path: .pixi/envs/default/lib/python3.8/unittest/mock.py lineno: 1140 message: OSErrorlongrepr:
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f4653f9adf0> 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 = <MagicMock name='open' spec='builtin_function_or_method' id='139940033308416'> args = ('file.txt', 'r'), kwargs = {}, effect = OSError('Mocked IOError') def _execute_mock_call(self, /, *args, **kwargs): # separate from _increment_mock_call so that awaited functions are # executed separately from their call, also AsyncMock overrides this method effect = self.side_effect if effect is not None: if _is_exception(effect): > raise effect E OSError: Mocked IOError .pixi/envs/default/lib/python3.8/unittest/mock.py:1140: OSError📌 Teardown phase
duration:
0.000293264864012599outcome:
passed
↳ Function: test_file_handle_closed_error
-
❌ Test 7
📌 Setup phase
duration:
0.000146408099681139outcome:
passed📌 Call phase
duration:
0.00018175807781517506outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_io_utils.py lineno: 50 message: ValueError: I/O operation on closed filetraceback:
- path: tests/test_io_utils.py lineno: 50 message: ValueErrorlongrepr:
def test_file_handle_closed_error(): # Accessing closed file raises ValueError f = io.StringIO("content") f.close() > f.read() E ValueError: I/O operation on closed file tests/test_io_utils.py:50: ValueError📌 Teardown phase
duration:
0.00016809883527457714outcome:
passed
↳ Function: test_os_error
-
❌ Test 8
📌 Setup phase
duration:
0.0002402861136943102outcome:
passed📌 Call phase
duration:
0.00017652916721999645outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_io_utils.py lineno: 55 message: OSError: Simulated OSErrortraceback:
- path: tests/test_io_utils.py lineno: 57 message: None - path: tests/test_io_utils.py lineno: 55 message: OSErrorlongrepr:
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f4653f6c0d0> def test_os_error(monkeypatch): # Patch os.remove to raise OSError simulating filesystem error def raise_os_error(path): raise OSError("Simulated OSError") monkeypatch.setattr("os.remove", raise_os_error) > os.remove("file.txt") tests/test_io_utils.py:57: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ path = 'file.txt' def raise_os_error(path): > raise OSError("Simulated OSError") E OSError: Simulated OSError tests/test_io_utils.py:55: OSError📌 Teardown phase
duration:
0.00016252393834292889outcome:
passed
↳ Function: test_file_not_found_error
-
❌ Test 10
📌 Setup phase
duration:
0.00011547398753464222outcome:
passed📌 Call phase
duration:
0.00016303407028317451outcome:
failedcrash:
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: FileNotFoundErrorlongrepr:
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📌 Teardown phase
duration:
0.0001443119253963232outcome:
passed
-
-
📄 test_math_utils.py
↳ Function: test_broken
-
❌ Test 11
📌 Setup phase
duration:
0.00013014301657676697outcome:
passed📌 Call phase
duration:
0.0001509960275143385outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 16 message: NameError: name 'want_the_test_to_fail' is not definedtraceback:
- path: tests/test_math_utils.py lineno: 16 message: NameErrorlongrepr:
def test_broken(): # simulating a broken or faulty test implementation that will cause the test to error > want_the_test_to_fail E NameError: name 'want_the_test_to_fail' is not defined tests/test_math_utils.py:16: NameError📌 Teardown phase
duration:
0.00013376190327107906outcome:
passed
↳ Function: test_call_missing_function
-
❌ Test 12
📌 Setup phase
duration:
0.00012259790673851967outcome:
passed📌 Call phase
duration:
0.000153364147990942outcome:
failedcrash:
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: AttributeErrorlongrepr:
def test_call_missing_function(): # Accessing a missing function attribute raises AttributeError > getattr(math_utils, "non_existent_function")() E AttributeError: module 'functions.math_utils' has no attribute 'non_existent_function' tests/test_math_utils.py:20: AttributeError📌 Teardown phase
duration:
0.00014212308451533318outcome:
passed
↳ Function: test_addition_fail
-
❌ Test 21
📌 Setup phase
duration:
0.00010489183478057384outcome:
passed📌 Call phase
duration:
0.0004359888844192028outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 51 message: assert 4 == 5 + where 4 = addition(2, 2)traceback:
- path: tests/test_math_utils.py lineno: 51 message: AssertionErrorlongrepr:
def test_addition_fail(): # Assertion failure: expected incorrect result > assert addition(2, 2) == 5 E assert 4 == 5 E + where 4 = addition(2, 2) tests/test_math_utils.py:51: AssertionError📌 Teardown phase
duration:
0.0001498139463365078outcome:
passed
↳ Function: test_division_zero
-
❌ Test 22
📌 Setup phase
duration:
0.00012319395318627357outcome:
passed📌 Call phase
duration:
0.00015292898751795292outcome:
failedcrash:
path: /workspace/tligui_y/slic/functions/math_utils.py lineno: 5 message: ZeroDivisionError: division by zerotraceback:
- path: tests/test_math_utils.py lineno: 55 message: None - path: functions/math_utils.py lineno: 5 message: ZeroDivisionErrorlongrepr:
def test_division_zero(): # Will raise ZeroDivisionError if not handled in division > division(1, 0) tests/test_math_utils.py:55: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = 1, b = 0 def division(a, b): > return a / b E ZeroDivisionError: division by zero functions/math_utils.py:5: ZeroDivisionError📌 Teardown phase
duration:
0.00013719499111175537outcome:
passed
↳ Function: test_runtime_error
-
❌ Test 24
📌 Setup phase
duration:
0.00011499808169901371outcome:
passed📌 Call phase
duration:
0.0001471762079745531outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 64 message: RuntimeError: Forced runtime errortraceback:
- path: tests/test_math_utils.py lineno: 64 message: RuntimeErrorlongrepr:
def test_runtime_error(): # Test raises an uncaught RuntimeError > raise RuntimeError("Forced runtime error") E RuntimeError: Forced runtime error tests/test_math_utils.py:64: RuntimeError📌 Teardown phase
duration:
0.00013177492655813694outcome:
passed
↳ Function: test_memory_error
-
❌ Test 25
📌 Setup phase
duration:
0.00011880905367434025outcome:
passed📌 Call phase
duration:
0.0001535271294414997outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 68 message: MemoryError: Simulated memory errortraceback:
- path: tests/test_math_utils.py lineno: 68 message: MemoryErrorlongrepr:
def test_memory_error(): # Manually raise MemoryError to simulate out-of-memory condition > raise MemoryError("Simulated memory error") E MemoryError: Simulated memory error tests/test_math_utils.py:68: MemoryError📌 Teardown phase
duration:
0.00013314909301698208outcome:
passed
↳ Function: test_timeout_error
-
❌ Test 26
📌 Setup phase
duration:
0.00011596689000725746outcome:
passed📌 Call phase
duration:
0.00014621810987591743outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 72 message: TimeoutError: Simulated timeout errortraceback:
- path: tests/test_math_utils.py lineno: 72 message: TimeoutErrorlongrepr:
def test_timeout_error(): # Manually raise TimeoutError simulating timeout conditions > raise TimeoutError("Simulated timeout error") E TimeoutError: Simulated timeout error tests/test_math_utils.py:72: TimeoutError📌 Teardown phase
duration:
0.00013434002175927162outcome:
passed
↳ Function: test_recursion_error
-
❌ Test 27
📌 Setup phase
duration:
0.00011664209887385368outcome:
passed📌 Call phase
duration:
0.0007643799763172865outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 77 message: RecursionError: maximum recursion depth exceededtraceback:
- path: tests/test_math_utils.py lineno: 78 message: None - path: tests/test_math_utils.py lineno: 77 message: in recursive - path: tests/test_math_utils.py lineno: 77 message: in recursivelongrepr:
def test_recursion_error(): # Infinite recursion triggers RecursionError def recursive(): return recursive() > recursive() tests/test_math_utils.py:78: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_math_utils.py:77: in recursive return recursive() tests/test_math_utils.py:77: in recursive return recursive() E RecursionError: maximum recursion depth exceeded !!! Recursion detected (same locals & position)📌 Teardown phase
duration:
0.0002000490203499794outcome:
passed
↳ Function: test_floating_point_error
-
❌ Test 28
📌 Setup phase
duration:
0.00014063785783946514outcome:
passed📌 Call phase
duration:
0.000174627173691988outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 82 message: FloatingPointError: Simulated floating point errortraceback:
- path: tests/test_math_utils.py lineno: 82 message: FloatingPointErrorlongrepr:
def test_floating_point_error(): # Manually raise FloatingPointError > raise FloatingPointError("Simulated floating point error") E FloatingPointError: Simulated floating point error tests/test_math_utils.py:82: FloatingPointError📌 Teardown phase
duration:
0.0001514679752290249outcome:
passed
↳ Function: test_floating_point_overflow
-
❌ Test 29
📌 Setup phase
duration:
0.00012627709656953812outcome:
passed📌 Call phase
duration:
0.00019822409376502037outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 86 message: OverflowError: math range errortraceback:
- path: tests/test_math_utils.py lineno: 86 message: OverflowErrorlongrepr:
def test_floating_point_overflow(): # Exponential overflow triggers OverflowError > math.exp(1000) E OverflowError: math range error tests/test_math_utils.py:86: OverflowError📌 Teardown phase
duration:
0.000159447081387043outcome:
passed
↳ Function: test_value_error
-
❌ Test 30
📌 Setup phase
duration:
0.00012492714449763298outcome:
passed📌 Call phase
duration:
0.00015829503536224365outcome:
failedcrash:
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: ValueErrorlongrepr:
def test_value_error(): # ValueError on invalid integer conversion > int("invalid") E ValueError: invalid literal for int() with base 10: 'invalid' tests/test_math_utils.py:90: ValueError📌 Teardown phase
duration:
0.0001328759826719761outcome:
passed
↳ Function: test_wrong_argument_error
-
❌ Test 31
📌 Setup phase
duration:
0.00011527701281011105outcome:
passed📌 Call phase
duration:
0.00016502104699611664outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 94 message: TypeError: 'int' object is not iterabletraceback:
- path: tests/test_math_utils.py lineno: 94 message: TypeErrorlongrepr:
def test_wrong_argument_error(): # TypeError when passing wrong argument type to sum > sum(5) E TypeError: 'int' object is not iterable tests/test_math_utils.py:94: TypeError📌 Teardown phase
duration:
0.00013130786828696728outcome:
passed
↳ Function: test_unhandled_exception
-
❌ Test 32
📌 Setup phase
duration:
0.00011565303429961205outcome:
passed📌 Call phase
duration:
0.00014518597163259983outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 98 message: Exception: Generic unhandled exceptiontraceback:
- path: tests/test_math_utils.py lineno: 98 message: Exceptionlongrepr:
def test_unhandled_exception(): # Raises generic unhandled Exception > raise Exception("Generic unhandled exception") E Exception: Generic unhandled exception tests/test_math_utils.py:98: Exception📌 Teardown phase
duration:
0.00013493397273123264outcome:
passed
↳ Function: test_custom_error
-
❌ Test 33
📌 Setup phase
duration:
0.00011826306581497192outcome:
passed📌 Call phase
duration:
0.00015050708316266537outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 102 message: test_math_utils.CustomError: Custom error simulationtraceback:
- path: tests/test_math_utils.py lineno: 102 message: CustomErrorlongrepr:
def test_custom_error(): # Raises user-defined CustomError exception > raise CustomError("Custom error simulation") E test_math_utils.CustomError: Custom error simulation tests/test_math_utils.py:102: CustomError📌 Teardown phase
duration:
0.00013376399874687195outcome:
passed
↳ Function: test_stop_iteration_direct
-
❌ Test 34
📌 Setup phase
duration:
0.00011567305773496628outcome:
passed📌 Call phase
duration:
0.00015244679525494576outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py lineno: 880 message: RuntimeError: generator raised StopIterationtraceback:
- path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py lineno: 341 message: None - path: .pixi/envs/default/lib/python3.8/site-packages/_pytest/runner.py lineno: 242 message: in <lambda> - 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: RuntimeErrorlongrepr:
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 = <class '_pytest.runner.CallInfo'> func = <function call_and_report.<locals>.<lambda> at 0x7f4653c3a670> when = 'call' reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>) @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> 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 = <CaptureManager _method='no' _global_capturing=<MultiCapture out=None err=None in_=None _state='suspended' _in_suspended=False> _capture_fixture=None> item = <Function test_stop_iteration_direct> @hookimpl(wrapper=True) def pytest_runtest_call(self, item: Item) -> Generator[None]: with self.item_capture("call", item): > return (yield) E RuntimeError: generator raised StopIteration .pixi/envs/default/lib/python3.8/site-packages/_pytest/capture.py:880: RuntimeError📌 Teardown phase
duration:
0.0002570070791989565outcome:
passed
↳ Function: test_generator_exit_direct
-
❌ Test 35
📌 Setup phase
duration:
0.0001401419285684824outcome:
passed📌 Call phase
duration:
0.00017015007324516773outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 110 message: GeneratorExittraceback:
- path: tests/test_math_utils.py lineno: 110 message: GeneratorExitlongrepr:
def test_generator_exit_direct(): # Directly raise GeneratorExit exception > raise GeneratorExit() E GeneratorExit tests/test_math_utils.py:110: GeneratorExit📌 Teardown phase
duration:
0.0002235090360045433outcome:
passed
↳ Function: test_malformed_code
-
❌ Test 36
📌 Setup phase
duration:
0.0001559099182486534outcome:
passed📌 Call phase
duration:
0.00018543400801718235outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 114 message: File "<string>", line 1 def bad(: ^ SyntaxError: invalid syntaxtraceback:
- path: tests/test_math_utils.py lineno: 114 message: SyntaxErrorlongrepr:
def test_malformed_code(): # SyntaxError when executing malformed Python code > exec("def bad(:\n pass") E File "<string>", line 1 E def bad(: E ^ E SyntaxError: invalid syntax tests/test_math_utils.py:114: SyntaxError📌 Teardown phase
duration:
0.0001730069052428007outcome:
passed
↳ Function: test_sys_exit
-
❌ Test 37
📌 Setup phase
duration:
0.0001277630217373371outcome:
passed📌 Call phase
duration:
0.00017202692106366158outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 118 message: SystemExit: 1traceback:
- path: tests/test_math_utils.py lineno: 118 message: SystemExitlongrepr:
def test_sys_exit(): # Simulate SystemExit via sys.exit > sys.exit(1) E SystemExit: 1 tests/test_math_utils.py:118: SystemExit📌 Teardown phase
duration:
0.00013296399265527725outcome:
passed
↳ Function: test_broken_function
-
❌ Test 38
📌 Setup phase
duration:
0.00011862791143357754outcome:
passed📌 Call phase
duration:
0.00015087611973285675outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 123 message: TypeError: Broken functiontraceback:
- path: tests/test_math_utils.py lineno: 124 message: None - path: tests/test_math_utils.py lineno: 123 message: TypeErrorlongrepr:
def test_broken_function(): # Simulate broken function raising TypeError def broken_func(*args, **kwargs): raise TypeError("Broken function") > broken_func() tests/test_math_utils.py:124: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (), kwargs = {} def broken_func(*args, **kwargs): > raise TypeError("Broken function") E TypeError: Broken function tests/test_math_utils.py:123: TypeError📌 Teardown phase
duration:
0.00013840594328939915outcome:
passed
↳ Function: test_import_error
-
❌ Test 39
📌 Setup phase
duration:
0.00011608609929680824outcome:
passed📌 Call phase
duration:
0.00015037599951028824outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 128 message: ImportError: Simulated ImportErrortraceback:
- path: tests/test_math_utils.py lineno: 128 message: ImportErrorlongrepr:
def test_import_error(): # Directly raise ImportError exception > raise ImportError("Simulated ImportError") E ImportError: Simulated ImportError tests/test_math_utils.py:128: ImportError📌 Teardown phase
duration:
0.00013322709128260612outcome:
passed
↳ Function: test_module_not_found_error
-
❌ Test 40
📌 Setup phase
duration:
0.00012682913802564144outcome:
passed📌 Call phase
duration:
0.0004667481407523155outcome:
failedcrash:
path: <frozen importlib._bootstrap> lineno: 973 message: ModuleNotFoundError: No module named 'non_existent_module_xyz'traceback:
- path: tests/test_math_utils.py lineno: 132 message: None - path: .pixi/envs/default/lib/python3.8/importlib/__init__.py lineno: 127 message: in import_module - path: <frozen importlib._bootstrap> lineno: 1014 message: in _gcd_import - path: <frozen importlib._bootstrap> lineno: 991 message: in _find_and_load - path: <frozen importlib._bootstrap> lineno: 973 message: ModuleNotFoundErrorlongrepr:
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) <frozen importlib._bootstrap>:1014: in _gcd_import ??? <frozen importlib._bootstrap>:991: in _find_and_load ??? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'non_existent_module_xyz' import_ = <function _gcd_import at 0x7f46582ab4c0> > ??? E ModuleNotFoundError: No module named 'non_existent_module_xyz' <frozen importlib._bootstrap>:973: ModuleNotFoundError📌 Teardown phase
duration:
0.00014841812662780285outcome:
passed
-
-
📄 test_param.py
↳ Function: test_sum_positive
-
❌ Test 52
(params: x=-1, y=-1)📌 Runtime Parameters
params: x: -1 y: -1 id: edge📌 Setup phase
duration:
0.00020181690342724323outcome:
passed📌 Call phase
duration:
0.0002511769998818636outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_param.py lineno: 58 message: assert (-1 + -1) >= 0traceback:
- path: tests/test_param.py lineno: 58 message: AssertionErrorlongrepr:
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📌 Teardown phase
duration:
0.00017045391723513603outcome:
passed
↳ Function: test_addition
-
❌ Test 65
📌 Setup phase
duration:
0.00010213116183876991outcome:
passed📌 Call phase
duration:
0.0001375058200210333outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_param.py lineno: 97 message: NameError: name 'addition' is not definedtraceback:
- path: tests/test_param.py lineno: 97 message: NameErrorlongrepr:
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📌 Teardown phase
duration:
0.00013691699132323265outcome:
passed
-
-
📄 test_string_utils.py
↳ Function: test_uppercase_type_error
-
❌ Test 68
📌 Setup phase
duration:
0.00010715401731431484outcome:
passed📌 Call phase
duration:
0.00014039897359907627outcome:
failedcrash:
path: /workspace/tligui_y/slic/functions/string_utils.py lineno: 3 message: TypeError: Input cannot be Nonetraceback:
- path: tests/test_string_utils.py lineno: 16 message: None - path: functions/string_utils.py lineno: 3 message: TypeErrorlongrepr:
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📌 Teardown phase
duration:
0.00014745001681149006outcome:
passed
↳ Function: test_unicode_decode_error
-
❌ Test 71
📌 Setup phase
duration:
0.00010338891297578812outcome:
passed📌 Call phase
duration:
0.0001396569423377514outcome:
failedcrash:
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 bytetraceback:
- path: tests/test_string_utils.py lineno: 28 message: UnicodeDecodeErrorlongrepr:
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📌 Teardown phase
duration:
0.00012978003360331059outcome:
passed
↳ Function: test_unicode_decode_surrogateescape
-
❌ Test 72
📌 Setup phase
duration:
0.00013086479157209396outcome:
passed📌 Call phase
duration:
0.00015064002946019173outcome:
failedcrash:
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 bytetraceback:
- path: tests/test_string_utils.py lineno: 32 message: UnicodeDecodeErrorlongrepr:
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📌 Teardown phase
duration:
0.00013115303590893745outcome:
passed
-
❌ Xfailed (2)
-
📄 test_math_utils.py
↳ Function: test_multiply_xfail
-
❌ Test 23
📌 Setup phase
duration:
0.00013488414697349072outcome:
passed📌 Call phase
duration:
0.0002619961742311716outcome:
skippedcrash:
path: /workspace/tligui_y/slic/tests/test_math_utils.py lineno: 60 message: assert 4 == 5 + where 4 = multiply(2, 2)traceback:
- path: tests/test_math_utils.py lineno: 60 message: AssertionErrorlongrepr:
@pytest.mark.xfail(reason="Expected failure") def test_multiply_xfail(): # Expected fail test (xfail): incorrect expected multiply result > assert multiply(2, 2) == 5 E assert 4 == 5 E + where 4 = multiply(2, 2) tests/test_math_utils.py:60: AssertionError📌 Teardown phase
duration:
0.00013590720482170582outcome:
passed
-
-
📄 test_string_utils.py
↳ Function: test_xfail_uppercase_digits
-
❌ Test 74
📌 Setup phase
duration:
0.00012233597226440907outcome:
passed📌 Call phase
duration:
0.0006404821760952473outcome:
skippedcrash:
path: /workspace/tligui_y/slic/tests/test_string_utils.py lineno: 41 message: AssertionError: assert 'ABC123' == 'ABC1234' - ABC1234 ? - + ABC123traceback:
- path: tests/test_string_utils.py lineno: 41 message: AssertionErrorlongrepr:
@pytest.mark.xfail(reason="Expected failure: uppercase does not handle digits") def test_xfail_uppercase_digits(): # Expected fail test because uppercase won't change digits > assert uppercase("abc123") == "ABC1234" E AssertionError: assert 'ABC123' == 'ABC1234' E E - ABC1234 E ? - E + ABC123 tests/test_string_utils.py:41: AssertionError📌 Teardown phase
duration:
0.00013234512880444527outcome:
passed
-
❌ Skipped (1)
-
📄 test_param.py
↳ Function: test_with_reason_and_marks
-
❌ Test 44
📌 Setup phase
duration:
0.0002305211964994669outcome:
skippedlongrepr:
('/workspace/tligui_y/slic/tests/test_param.py', 12, 'Skipped: nope')📌 Teardown phase
duration:
0.0001095819752663374outcome:
passed
-
❌ Error (1)
-
📄 test_param.py
↳ Function: test_basic_error
-
❌ Test 66
📌 Setup phase
duration:
0.0001480488572269678outcome:
failedlongrepr:
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📌 Teardown phase
duration:
0.00011697201989591122outcome:
passed
-
📚 Collected files
✅ (1 tests)
-
✅
- Outcome:
passed - result:
- nodeid: . type: Dir - Outcome:
✅ ci-reports (12 tests)
-
✅ ci-reports
- Outcome:
passed - result:
- nodeid: ci-reports/allure type: Dir - nodeid: ci-reports/coverage type: Dir - nodeid: ci-reports/markdown type: Dir-
✅ 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 - Outcome:
-
✅ ci-reports/allure/data
- Outcome:
passed - result:
[] - Outcome:
-
✅ ci-reports/allure/export
- Outcome:
passed - result:
[] - Outcome:
-
✅ ci-reports/allure/history
- Outcome:
passed - result:
[] - Outcome:
-
✅ 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 - Outcome:
-
✅ ci-reports/allure/plugin/behaviors
- Outcome:
passed - result:
[] - Outcome:
-
✅ ci-reports/allure/plugin/packages
- Outcome:
passed - result:
[] - Outcome:
-
✅ ci-reports/allure/plugin/screen-diff
- Outcome:
passed - result:
[] - Outcome:
-
✅ ci-reports/allure/widgets
- Outcome:
passed - result:
[] - Outcome:
-
✅ ci-reports/coverage
- Outcome:
passed - result:
[] - Outcome:
-
✅ ci-reports/markdown
- Outcome:
passed - result:
[] - Outcome:
- Outcome:
✅ functions (1 tests)
-
✅ functions
- Outcome:
passed - result:
[] - Outcome:
❌ tests (7 tests)
-
✅ 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-
❌ tests/test_broken_fct.py
- Outcome:
failed - result:
[]- longrepr:
.pixi/envs/default/lib/python3.8/site-packages/_pytest/python.py:493: in importtestmodule mod = import_path( .pixi/envs/default/lib/python3.8/site-packages/_pytest/pathlib.py:587: in import_path importlib.import_module(module_name) .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) <frozen importlib._bootstrap>:1014: in _gcd_import ??? <frozen importlib._bootstrap>:991: in _find_and_load ??? <frozen importlib._bootstrap>:975: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>: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 - Outcome:
-
❌ tests/test_collector_error.py
- Outcome:
failed - result:
[]- longrepr:
ImportError while importing test module '/workspace/tligui_y/slic/tests/test_collector_error.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/test_collector_error.py:1: in <module> from no_existing_module.math_utils import * E ModuleNotFoundError: No module named 'no_existing_module' - Outcome:
-
✅ 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 - Outcome:
-
✅ 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 - Outcome:
-
✅ 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 - Outcome:
-
✅ 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/test_string_utils.py::test_keyboard_interrupt_direct type: Function lineno: 49 - Outcome:
- Outcome:
✅ . (1 tests)
-
✅ .
- Outcome:
passed - result:
- nodeid: ci-reports type: Dir - nodeid: functions type: Package - nodeid: tests type: Dir - Outcome:
⚠️ Warnings
Warnings #1
message: Test warning
category: UserWarning
when: runtest
filename: /workspace/tligui_y/slic/tests/test_string_utils.py
lineno: 24
Warnings #2
message: This is a syntax warning
category: SyntaxWarning
when: runtest
filename: /workspace/tligui_y/slic/tests/test_string_utils.py
lineno: 36