2999 lines
137 KiB
Plaintext
2999 lines
137 KiB
Plaintext
📁 ci-reports/markdown/pytest-report.json
|
|
├── created: 1753055626.9918685
|
|
├── duration: 0.724107027053833
|
|
├── exitcode: 2
|
|
├── root: /workspace/tligui_y/slic
|
|
├── environment
|
|
├── summary
|
|
│ ├── passed: 38
|
|
│ ├── failed: 33
|
|
│ ├── xfailed: 2
|
|
│ ├── skipped: 1
|
|
│ ├── error: 1
|
|
│ ├── total: 75
|
|
│ └── collected: 75
|
|
├── 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
|
|
│ │ mod = import_path(
|
|
│ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/pathlib.py:58
|
|
│ │ 7: 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, 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/rew
|
|
│ │ rite.py:175: in exec_module
|
|
│ │ source_stat, co = _rewrite_test(fn, self.config)
|
|
│ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/assertion/rew
|
|
│ │ rite.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
|
|
│ ├── -
|
|
│ │ ├── nodeid: 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, 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'
|
|
│ ├── -
|
|
│ │ ├── 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
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 36
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_math_utils.py::test_addition_pass_id
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 36
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_math_utils.py::test_addition_pass_id
|
|
│ │ │ ├── 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
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 3
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_param.py::test_basic_ids
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 3
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_param.py::test_with_reason_and_marks
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 11
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_param.py::test_with_reason_and_marks
|
|
│ │ │ ├── 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
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 27
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_param.py::test_timedistance_v1
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 43
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_param.py::test_timedistance_v1
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 43
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_param.py::test_sum_positive
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 55
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_param.py::test_sum_positive
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 55
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_param.py::test_sum_positive
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 55
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_param.py::test_dynamic
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 65
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_param.py::test_dynamic
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 65
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_param.py::test_dynamic
|
|
│ │ │ ├── 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
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 78
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_param.py::test_combination
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 78
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_param.py::test_combination
|
|
│ │ │ ├── type: Function
|
|
│ │ │ └── lineno: 78
|
|
│ │ ├── -
|
|
│ │ │ ├── nodeid: tests/test_param.py::test_combination
|
|
│ │ │ ├── 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_surrogateesc
|
|
│ │ │ │ ape
|
|
│ │ │ ├── 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: 48
|
|
│ ├── -
|
|
│ │ ├── 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.003101432928815484
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00047043501399457455
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.0002350939903408289
|
|
│ │ └── 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.00044184806756675243
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00027064885944128036
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00015783915296196938
|
|
│ │ └── 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.00011431891471147537
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00016214116476476192
|
|
│ │ │ ├── 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():
|
|
│ │ │ # 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
|
|
│ │ ├── duration: 0.00014341413043439388
|
|
│ │ └── 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.00011895806528627872
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00017373100854456425
|
|
│ │ │ ├── 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():
|
|
│ │ │ # 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
|
|
│ │ ├── duration: 0.00015960494056344032
|
|
│ │ └── 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.00019280798733234406
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0001685589086264372
|
|
│ │ │ ├── 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 0x7f87e843f280>
|
|
│ │ │
|
|
│ │ │ 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
|
|
│ │ ├── duration: 0.00016434211283922195
|
|
│ │ └── 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.0002040499821305275
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00315626198425889
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path:
|
|
│ │ │ │ │ /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/un
|
|
│ │ │ │ │ ittest/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 0x7f87e84728b0>
|
|
│ │ │
|
|
│ │ │ 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='140221694288560'>
|
|
│ │ │ 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
|
|
│ │ ├── duration: 0.0002800058573484421
|
|
│ │ └── 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.0001406809315085411
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00017751101404428482
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_io_utils.py
|
|
│ │ │ │ ├── lineno: 50
|
|
│ │ │ │ └── message: ValueError: I/O operation on closed file
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_io_utils.py
|
|
│ │ │ │ ├── lineno: 50
|
|
│ │ │ │ └── message: ValueError
|
|
│ │ │ └── longrepr: def test_file_handle_closed_error():
|
|
│ │ │ # Accessing closed file raises ValueError
|
|
│ │ │ f = io.StringIO("content")
|
|
│ │ │ f.close()
|
|
│ │ │ > f.read()
|
|
│ │ │ E ValueError: I/O operation on closed file
|
|
│ │ │
|
|
│ │ │ tests/test_io_utils.py:50: ValueError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00015468220226466656
|
|
│ │ └── 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.00022139190696179867
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00017957785166800022
|
|
│ │ │ ├── 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 0x7f87e821d460>
|
|
│ │ │
|
|
│ │ │ 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
|
|
│ │ ├── duration: 0.00016544992104172707
|
|
│ │ └── 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.0005692560225725174
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0011476560030132532
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00014063995331525803
|
|
│ │ └── 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.00011252588592469692
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00016510812565684319
|
|
│ │ │ ├── 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():
|
|
│ │ │ # 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
|
|
│ │ ├── duration: 0.0001404089853167534
|
|
│ │ └── 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.00012346520088613033
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0001677027903497219
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 16
|
|
│ │ │ │ └── message: NameError: name 'want_the_test_to_fail' is not
|
|
│ │ │ │ defined
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 16
|
|
│ │ │ │ └── message: NameError
|
|
│ │ │ └── longrepr: def test_broken():
|
|
│ │ │ # simulating a broken or faulty test implementation that
|
|
│ │ │ will cause the test to error
|
|
│ │ │ > want_the_test_to_fail
|
|
│ │ │ E NameError: name 'want_the_test_to_fail' is not defined
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:16: NameError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.0001386080402880907
|
|
│ │ └── 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.00012356718070805073
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00015167403034865856
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 20
|
|
│ │ │ │ └── message: AttributeError: module 'functions.math_utils' has
|
|
│ │ │ │ no attribute 'non_existent_function'
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 20
|
|
│ │ │ │ └── message: AttributeError
|
|
│ │ │ └── longrepr: def test_call_missing_function():
|
|
│ │ │ # Accessing a missing function attribute raises
|
|
│ │ │ AttributeError
|
|
│ │ │ > getattr(math_utils, "non_existent_function")()
|
|
│ │ │ E AttributeError: module 'functions.math_utils' has no
|
|
│ │ │ attribute 'non_existent_function'
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:20: AttributeError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013597705401480198
|
|
│ │ └── 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.00028594699688255787
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00014804303646087646
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00014834990724921227
|
|
│ │ └── 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.00025948300026357174
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00013462593778967857
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00014385790564119816
|
|
│ │ └── 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.0002901568077504635
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0001314661931246519
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013484805822372437
|
|
│ │ └── 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.0002486968878656626
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00013205199502408504
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013850792311131954
|
|
│ │ └── 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.00023786211386322975
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00013113091699779034
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013670511543750763
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_math_utils.py::test_addition_pass_id
|
|
│ │ ├── lineno: 36
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_addition_pass_id
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── a=2,b=2,expected=4
|
|
│ │ │ ├── test_math_utils.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00024309405125677586
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012693088501691818
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013313698582351208
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_math_utils.py::test_addition_pass_id
|
|
│ │ ├── lineno: 36
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_addition_pass_id
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── a=1,b=5,expected=6
|
|
│ │ │ ├── test_math_utils.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.0002349370624870062
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012862496078014374
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013633421622216702
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_math_utils.py::test_addition_pass_id
|
|
│ │ ├── lineno: 36
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_addition_pass_id
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── a=3,b=4,expected=7
|
|
│ │ │ ├── test_math_utils.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00023803417570888996
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0001259308774024248
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013279193080961704
|
|
│ │ └── 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.0001023588702082634
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00039340509101748466
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 51
|
|
│ │ │ │ └── message: assert 4 == 5
|
|
│ │ │ │ + where 4 = addition(2, 2)
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 51
|
|
│ │ │ │ └── message: AssertionError
|
|
│ │ │ └── longrepr: def test_addition_fail():
|
|
│ │ │ # Assertion failure: expected incorrect result
|
|
│ │ │ > assert addition(2, 2) == 5
|
|
│ │ │ E assert 4 == 5
|
|
│ │ │ E + where 4 = addition(2, 2)
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:51: AssertionError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013819406740367413
|
|
│ │ └── 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.00012155785225331783
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00015660305507481098
|
|
│ │ │ ├── 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():
|
|
│ │ │ # 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
|
|
│ │ ├── duration: 0.00013713189400732517
|
|
│ │ └── 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.0001335649285465479
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00025302288122475147
|
|
│ │ │ ├── outcome: skipped
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 60
|
|
│ │ │ │ └── message: assert 4 == 5
|
|
│ │ │ │ + where 4 = multiply(2, 2)
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 60
|
|
│ │ │ │ └── message: AssertionError
|
|
│ │ │ └── longrepr: @pytest.mark.xfail(reason="Expected failure")
|
|
│ │ │ def test_multiply_xfail():
|
|
│ │ │ # Expected fail test (xfail): incorrect expected
|
|
│ │ │ multiply result
|
|
│ │ │ > assert multiply(2, 2) == 5
|
|
│ │ │ E assert 4 == 5
|
|
│ │ │ E + where 4 = multiply(2, 2)
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:60: AssertionError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00014904304407536983
|
|
│ │ └── 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.00012110802344977856
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0001480630598962307
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 64
|
|
│ │ │ │ └── message: RuntimeError: Forced runtime error
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 64
|
|
│ │ │ │ └── message: RuntimeError
|
|
│ │ │ └── longrepr: def test_runtime_error():
|
|
│ │ │ # Test raises an uncaught RuntimeError
|
|
│ │ │ > raise RuntimeError("Forced runtime error")
|
|
│ │ │ E RuntimeError: Forced runtime error
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:64: RuntimeError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.0001369020901620388
|
|
│ │ └── 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.0001216998789459467
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00016004894860088825
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 68
|
|
│ │ │ │ └── message: MemoryError: Simulated memory error
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 68
|
|
│ │ │ │ └── message: MemoryError
|
|
│ │ │ └── longrepr: def test_memory_error():
|
|
│ │ │ # Manually raise MemoryError to simulate out-of-memory
|
|
│ │ │ condition
|
|
│ │ │ > raise MemoryError("Simulated memory error")
|
|
│ │ │ E MemoryError: Simulated memory error
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:68: MemoryError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00014942418783903122
|
|
│ │ └── 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.00011972803622484207
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0001470369752496481
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 72
|
|
│ │ │ │ └── message: TimeoutError: Simulated timeout error
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 72
|
|
│ │ │ │ └── message: TimeoutError
|
|
│ │ │ └── longrepr: def test_timeout_error():
|
|
│ │ │ # Manually raise TimeoutError simulating timeout
|
|
│ │ │ conditions
|
|
│ │ │ > raise TimeoutError("Simulated timeout error")
|
|
│ │ │ E TimeoutError: Simulated timeout error
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:72: TimeoutError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013682502321898937
|
|
│ │ └── 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.00012611388228833675
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0007564281113445759
|
|
│ │ │ ├── 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():
|
|
│ │ │ # 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
|
|
│ │ ├── duration: 0.0001399819739162922
|
|
│ │ └── 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.00012880098074674606
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0001517930068075657
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 82
|
|
│ │ │ │ └── message: FloatingPointError: Simulated floating point error
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 82
|
|
│ │ │ │ └── message: FloatingPointError
|
|
│ │ │ └── longrepr: def test_floating_point_error():
|
|
│ │ │ # Manually raise FloatingPointError
|
|
│ │ │ > raise FloatingPointError("Simulated floating point
|
|
│ │ │ error")
|
|
│ │ │ E FloatingPointError: Simulated floating point error
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:82: FloatingPointError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00014717085286974907
|
|
│ │ └── 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.00011702789925038815
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00015277881175279617
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 86
|
|
│ │ │ │ └── message: OverflowError: math range error
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 86
|
|
│ │ │ │ └── message: OverflowError
|
|
│ │ │ └── longrepr: def test_floating_point_overflow():
|
|
│ │ │ # Exponential overflow triggers OverflowError
|
|
│ │ │ > math.exp(1000)
|
|
│ │ │ E OverflowError: math range error
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:86: OverflowError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013811304233968258
|
|
│ │ └── 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.00011957692913711071
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00015357020311057568
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 90
|
|
│ │ │ │ └── message: ValueError: invalid literal for int() with base 10:
|
|
│ │ │ │ 'invalid'
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 90
|
|
│ │ │ │ └── message: ValueError
|
|
│ │ │ └── longrepr: def test_value_error():
|
|
│ │ │ # ValueError on invalid integer conversion
|
|
│ │ │ > int("invalid")
|
|
│ │ │ E ValueError: invalid literal for int() with base 10:
|
|
│ │ │ 'invalid'
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:90: ValueError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013712793588638306
|
|
│ │ └── 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.00012510502710938454
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0001603858545422554
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 94
|
|
│ │ │ │ └── message: TypeError: 'int' object is not iterable
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 94
|
|
│ │ │ │ └── message: TypeError
|
|
│ │ │ └── longrepr: def test_wrong_argument_error():
|
|
│ │ │ # TypeError when passing wrong argument type to sum
|
|
│ │ │ > sum(5)
|
|
│ │ │ E TypeError: 'int' object is not iterable
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:94: TypeError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.000136310001835227
|
|
│ │ └── 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.0001362701877951622
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00015119300223886967
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 98
|
|
│ │ │ │ └── message: Exception: Generic unhandled exception
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 98
|
|
│ │ │ │ └── message: Exception
|
|
│ │ │ └── longrepr: def test_unhandled_exception():
|
|
│ │ │ # Raises generic unhandled Exception
|
|
│ │ │ > raise Exception("Generic unhandled exception")
|
|
│ │ │ E Exception: Generic unhandled exception
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:98: Exception
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.0001470530405640602
|
|
│ │ └── 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.00011708610691130161
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00015655113384127617
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 102
|
|
│ │ │ │ └── message: test_math_utils.CustomError: Custom error
|
|
│ │ │ │ simulation
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 102
|
|
│ │ │ │ └── message: CustomError
|
|
│ │ │ └── longrepr: def test_custom_error():
|
|
│ │ │ # Raises user-defined CustomError exception
|
|
│ │ │ > raise CustomError("Custom error simulation")
|
|
│ │ │ E test_math_utils.CustomError: Custom error simulation
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:102: CustomError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013510091230273247
|
|
│ │ └── 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.00011538201943039894
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00015092291869223118
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path:
|
|
│ │ │ │ │ /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/si
|
|
│ │ │ │ │ te-packages/_pytest/capture.py
|
|
│ │ │ │ ├── lineno: 880
|
|
│ │ │ │ └── message: RuntimeError: generator raised StopIteration
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ ├── -
|
|
│ │ │ │ │ ├── path:
|
|
│ │ │ │ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/r
|
|
│ │ │ │ │ │ unner.py
|
|
│ │ │ │ │ ├── lineno: 341
|
|
│ │ │ │ │ └── message:
|
|
│ │ │ │ ├── -
|
|
│ │ │ │ │ ├── path:
|
|
│ │ │ │ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/r
|
|
│ │ │ │ │ │ unner.py
|
|
│ │ │ │ │ ├── lineno: 242
|
|
│ │ │ │ │ └── message: in <lambda>
|
|
│ │ │ │ ├── -
|
|
│ │ │ │ │ ├── path:
|
|
│ │ │ │ │ │ .pixi/envs/default/lib/python3.8/site-packages/pluggy/_h
|
|
│ │ │ │ │ │ ooks.py
|
|
│ │ │ │ │ ├── lineno: 513
|
|
│ │ │ │ │ └── message: in __call__
|
|
│ │ │ │ ├── -
|
|
│ │ │ │ │ ├── path:
|
|
│ │ │ │ │ │ .pixi/envs/default/lib/python3.8/site-packages/pluggy/_m
|
|
│ │ │ │ │ │ anager.py
|
|
│ │ │ │ │ ├── lineno: 120
|
|
│ │ │ │ │ └── message: in _hookexec
|
|
│ │ │ │ ├── -
|
|
│ │ │ │ │ ├── path:
|
|
│ │ │ │ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/t
|
|
│ │ │ │ │ │ hreadexception.py
|
|
│ │ │ │ │ ├── lineno: 92
|
|
│ │ │ │ │ └── message: in pytest_runtest_call
|
|
│ │ │ │ ├── -
|
|
│ │ │ │ │ ├── path:
|
|
│ │ │ │ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/t
|
|
│ │ │ │ │ │ hreadexception.py
|
|
│ │ │ │ │ ├── lineno: 68
|
|
│ │ │ │ │ └── message: in thread_exception_runtest_hook
|
|
│ │ │ │ ├── -
|
|
│ │ │ │ │ ├── path:
|
|
│ │ │ │ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/u
|
|
│ │ │ │ │ │ nraisableexception.py
|
|
│ │ │ │ │ ├── lineno: 95
|
|
│ │ │ │ │ └── message: in pytest_runtest_call
|
|
│ │ │ │ ├── -
|
|
│ │ │ │ │ ├── path:
|
|
│ │ │ │ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/u
|
|
│ │ │ │ │ │ nraisableexception.py
|
|
│ │ │ │ │ ├── lineno: 70
|
|
│ │ │ │ │ └── message: in unraisable_exception_runtest_hook
|
|
│ │ │ │ ├── -
|
|
│ │ │ │ │ ├── path:
|
|
│ │ │ │ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/l
|
|
│ │ │ │ │ │ ogging.py
|
|
│ │ │ │ │ ├── lineno: 846
|
|
│ │ │ │ │ └── message: in pytest_runtest_call
|
|
│ │ │ │ ├── -
|
|
│ │ │ │ │ ├── path:
|
|
│ │ │ │ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/l
|
|
│ │ │ │ │ │ ogging.py
|
|
│ │ │ │ │ ├── lineno: 829
|
|
│ │ │ │ │ └── message: in _runtest_for
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path:
|
|
│ │ │ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/c
|
|
│ │ │ │ │ apture.py
|
|
│ │ │ │ ├── lineno: 880
|
|
│ │ │ │ └── message: RuntimeError
|
|
│ │ │ └── longrepr: def test_stop_iteration_direct():
|
|
│ │ │ # Directly raise StopIteration exception
|
|
│ │ │ > raise StopIteration()
|
|
│ │ │ E StopIteration
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:106: StopIteration
|
|
│ │ │
|
|
│ │ │ The above exception was the direct cause of the following
|
|
│ │ │ exception:
|
|
│ │ │
|
|
│ │ │ cls = <class '_pytest.runner.CallInfo'>
|
|
│ │ │ func = <function call_and_report.<locals>.<lambda> at
|
|
│ │ │ 0x7f87e81d8f70>
|
|
│ │ │ 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.p
|
|
│ │ │ y:120: in _hookexec
|
|
│ │ │ return self._inner_hookexec(hook_name, methods, kwargs,
|
|
│ │ │ firstresult)
|
|
│ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexc
|
|
│ │ │ eption.py:92: in pytest_runtest_call
|
|
│ │ │ yield from thread_exception_runtest_hook()
|
|
│ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/threadexc
|
|
│ │ │ eption.py:68: in thread_exception_runtest_hook
|
|
│ │ │ yield
|
|
│ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisabl
|
|
│ │ │ eexception.py:95: in pytest_runtest_call
|
|
│ │ │ yield from unraisable_exception_runtest_hook()
|
|
│ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/unraisabl
|
|
│ │ │ eexception.py:70: in unraisable_exception_runtest_hook
|
|
│ │ │ yield
|
|
│ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.p
|
|
│ │ │ y:846: in pytest_runtest_call
|
|
│ │ │ yield from self._runtest_for(item, "call")
|
|
│ │ │ .pixi/envs/default/lib/python3.8/site-packages/_pytest/logging.p
|
|
│ │ │ y: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.p
|
|
│ │ │ y:880: RuntimeError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.0001927588600665331
|
|
│ │ └── 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.00012892507947981358
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0001684280578047037
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 110
|
|
│ │ │ │ └── message: GeneratorExit
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 110
|
|
│ │ │ │ └── message: GeneratorExit
|
|
│ │ │ └── longrepr: def test_generator_exit_direct():
|
|
│ │ │ # Directly raise GeneratorExit exception
|
|
│ │ │ > raise GeneratorExit()
|
|
│ │ │ E GeneratorExit
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:110: GeneratorExit
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00016189995221793652
|
|
│ │ └── 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.00012446101754903793
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00016291998326778412
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 114
|
|
│ │ │ │ └── message: File "<string>", line 1
|
|
│ │ │ │ def bad(:
|
|
│ │ │ │ ^
|
|
│ │ │ │ SyntaxError: invalid syntax
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 114
|
|
│ │ │ │ └── message: SyntaxError
|
|
│ │ │ └── longrepr: def test_malformed_code():
|
|
│ │ │ # SyntaxError when executing malformed Python code
|
|
│ │ │ > exec("def bad(:\n pass")
|
|
│ │ │ E File "<string>", line 1
|
|
│ │ │ E def bad(:
|
|
│ │ │ E ^
|
|
│ │ │ E SyntaxError: invalid syntax
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:114: SyntaxError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00015374505892395973
|
|
│ │ └── 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.0001223559956997633
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0001518030185252428
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 118
|
|
│ │ │ │ └── message: SystemExit: 1
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_math_utils.py
|
|
│ │ │ │ ├── lineno: 118
|
|
│ │ │ │ └── message: SystemExit
|
|
│ │ │ └── longrepr: def test_sys_exit():
|
|
│ │ │ # Simulate SystemExit via sys.exit
|
|
│ │ │ > sys.exit(1)
|
|
│ │ │ E SystemExit: 1
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:118: SystemExit
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00014818995259702206
|
|
│ │ └── 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.00012058787979185581
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00015048100613057613
|
|
│ │ │ ├── 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():
|
|
│ │ │ # 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
|
|
│ │ ├── duration: 0.00013974914327263832
|
|
│ │ └── 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.00011779298074543476
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00016341800801455975
|
|
│ │ │ ├── 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():
|
|
│ │ │ # Directly raise ImportError exception
|
|
│ │ │ > raise ImportError("Simulated ImportError")
|
|
│ │ │ E ImportError: Simulated ImportError
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:128: ImportError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00014209700748324394
|
|
│ │ └── 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.00012303818948566914
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0004502290394157171
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── 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:
|
|
│ │ │ │ ├── -
|
|
│ │ │ │ │ ├── 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: ModuleNotFoundError
|
|
│ │ │ └── longrepr: def test_module_not_found_error():
|
|
│ │ │ # Raises ModuleNotFoundError (subclass of ImportError)
|
|
│ │ │ for missing module
|
|
│ │ │ > importlib.import_module("non_existent_module_xyz")
|
|
│ │ │
|
|
│ │ │ tests/test_math_utils.py:132:
|
|
│ │ │ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
│ │ │ _ _ _ _ _ _ _ _
|
|
│ │ │ .pixi/envs/default/lib/python3.8/importlib/__init__.py:127: in
|
|
│ │ │ import_module
|
|
│ │ │ return _bootstrap._gcd_import(name, 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 0x7f87ecacd4c0>
|
|
│ │ │
|
|
│ │ │ > ???
|
|
│ │ │ E ModuleNotFoundError: No module named
|
|
│ │ │ 'non_existent_module_xyz'
|
|
│ │ │
|
|
│ │ │ <frozen importlib._bootstrap>:973: ModuleNotFoundError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.0001438178587704897
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_basic_ids
|
|
│ │ ├── lineno: 3
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_basic_ids
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── one
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00022256607189774513
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0001353349070996046
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013215700164437294
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_basic_ids
|
|
│ │ ├── lineno: 3
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_basic_ids
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── two
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.0001745079644024372
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012612203136086464
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.0001214297953993082
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_with_reason_and_marks
|
|
│ │ ├── lineno: 11
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_with_reason_and_marks
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── ten
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00017339293844997883
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0001247660256922245
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00011249515227973461
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_with_reason_and_marks
|
|
│ │ ├── lineno: 11
|
|
│ │ ├── outcome: skipped
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_with_reason_and_marks
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── skip
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── twenty
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00021790200844407082
|
|
│ │ │ ├── outcome: skipped
|
|
│ │ │ └── longrepr: ('/workspace/tligui_y/slic/tests/test_param.py', 12,
|
|
│ │ │ 'Skipped: nope')
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00010971515439450741
|
|
│ │ └── 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.00023189280182123184
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012833182699978352
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013589509762823582
|
|
│ │ └── 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.00021770200692117214
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012762704864144325
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.0001248710323125124
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_non_literal_with_id
|
|
│ │ ├── lineno: 27
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_non_literal_with_id
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── custom-obj
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.0001548829022794962
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012372992932796478
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00011229398660361767
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_timedistance_v1
|
|
│ │ ├── lineno: 43
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_timedistance_v1
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── a0-b0-expected0
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.0002556811086833477
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00013229413889348507
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.000136940972879529
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_timedistance_v1
|
|
│ │ ├── lineno: 43
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_timedistance_v1
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── a1-b1-expected1
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00023571401834487915
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012454111129045486
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.0001384031493216753
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_sum_positive
|
|
│ │ ├── lineno: 55
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_sum_positive
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── one
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00020733801648020744
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012613716535270214
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.0001227168831974268
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_sum_positive
|
|
│ │ ├── lineno: 55
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_sum_positive
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── two
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.0002090900670737028
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00013031205162405968
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00012575415894389153
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_sum_positive
|
|
│ │ ├── lineno: 55
|
|
│ │ ├── outcome: failed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_sum_positive
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── edge
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00019948510453104973
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0002325729001313448
|
|
│ │ │ ├── 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
|
|
│ │ │
|
|
│ │ │ @pytest.mark.parametrize("x, y", [(param["x"], param["y"])
|
|
│ │ │ for _, param in scenarios], ids=)
|
|
│ │ │ def test_sum_positive(x, y):
|
|
│ │ │ > assert (x + y) >= 0
|
|
│ │ │ E assert (-1 + -1) >= 0
|
|
│ │ │
|
|
│ │ │ tests/test_param.py:58: AssertionError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00016583595424890518
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_dynamic
|
|
│ │ ├── lineno: 65
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_dynamic
|
|
│ │ │ ├── ten
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00019585411064326763
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00013678916729986668
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.0001250698696821928
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_dynamic
|
|
│ │ ├── lineno: 65
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_dynamic
|
|
│ │ │ ├── twenty
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00018036388792097569
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012745591811835766
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00011373590677976608
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_dynamic
|
|
│ │ ├── lineno: 65
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_dynamic
|
|
│ │ │ ├── thirty
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00016924994997680187
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012306496500968933
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00011051702313125134
|
|
│ │ └── 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.00016831699758768082
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.000128141138702631
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00011330004781484604
|
|
│ │ └── 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.00016864901408553123
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00013908720575273037
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00011499202810227871
|
|
│ │ └── 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.0001621479168534279
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012138299643993378
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00011106091551482677
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_combination
|
|
│ │ ├── lineno: 78
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_combination
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── a-1
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00020483997650444508
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012532086111605167
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00012359791435301304
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_combination
|
|
│ │ ├── lineno: 78
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_combination
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── a-2
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00019622198306024075
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0001291520893573761
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00012426404282450676
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_combination
|
|
│ │ ├── lineno: 78
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_combination
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── b-1
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00020109908655285835
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012576114386320114
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.0001343290787190199
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_combination
|
|
│ │ ├── lineno: 78
|
|
│ │ ├── outcome: passed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_combination
|
|
│ │ │ ├── parametrize
|
|
│ │ │ ├── pytestmark
|
|
│ │ │ ├── b-2
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00019392906688153744
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012030196376144886
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00013552303425967693
|
|
│ │ └── 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.0001656678505241871
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012415205128490925
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00011132215149700642
|
|
│ │ └── 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.00016312487423419952
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00012415903620421886
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00011198199354112148
|
|
│ │ └── outcome: passed
|
|
│ ├── -
|
|
│ │ ├── nodeid: tests/test_param.py::test_addition
|
|
│ │ ├── lineno: 94
|
|
│ │ ├── outcome: failed
|
|
│ │ ├── keywords
|
|
│ │ │ ├── test_addition
|
|
│ │ │ ├── test_param.py
|
|
│ │ │ ├── tests
|
|
│ │ │ ├── slic
|
|
│ │ │ └──
|
|
│ │ ├── setup
|
|
│ │ │ ├── duration: 0.00010321894660592079
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00013777101412415504
|
|
│ │ │ ├── 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
|
|
│ │ │
|
|
│ │ │ 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
|
|
│ │ ├── duration: 0.00013759988360106945
|
|
│ │ └── 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.00014545000158250332
|
|
│ │ │ ├── outcome: failed
|
|
│ │ │ └── longrepr: 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 ' for help on them.
|
|
│ │ │
|
|
│ │ │ /workspace/tligui_y/slic/tests/test_param.py:100
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00012822099961340427
|
|
│ │ └── 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.00013591209426522255
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00014140596613287926
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00010240403935313225
|
|
│ │ └── 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.00010693585500121117
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00015003420412540436
|
|
│ │ │ ├── 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():
|
|
│ │ │ # 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
|
|
│ │ ├── duration: 0.00013356097042560577
|
|
│ │ └── 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.00012098788283765316
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00013916683383286
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00010695192031562328
|
|
│ │ └── 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.00012010009959340096
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00014204182662069798
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 9.874394163489342e-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.00010439706966280937
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00014433800242841244
|
|
│ │ │ ├── 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():
|
|
│ │ │ # 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
|
|
│ │ ├── duration: 0.00013596192002296448
|
|
│ │ └── 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.0001184418797492981
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0001514269970357418
|
|
│ │ │ ├── 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():
|
|
│ │ │ # 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
|
|
│ │ ├── duration: 0.0001435740850865841
|
|
│ │ └── 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.00011676992289721966
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.00013918103650212288
|
|
│ │ │ └── outcome: passed
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00010225106962025166
|
|
│ │ └── 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.0001251501962542534
|
|
│ │ │ └── outcome: passed
|
|
│ │ ├── call
|
|
│ │ │ ├── duration: 0.0005581078585237265
|
|
│ │ │ ├── outcome: skipped
|
|
│ │ │ ├── crash
|
|
│ │ │ │ ├── path: /workspace/tligui_y/slic/tests/test_string_utils.py
|
|
│ │ │ │ ├── lineno: 41
|
|
│ │ │ │ └── message: AssertionError: assert 'ABC123' == 'ABC1234'
|
|
│ │ │ │
|
|
│ │ │ │ - ABC1234
|
|
│ │ │ │ ? -
|
|
│ │ │ │ + ABC123
|
|
│ │ │ ├── traceback
|
|
│ │ │ │ └── -
|
|
│ │ │ │ ├── path: tests/test_string_utils.py
|
|
│ │ │ │ ├── lineno: 41
|
|
│ │ │ │ └── message: AssertionError
|
|
│ │ │ └── longrepr: @pytest.mark.xfail(reason="Expected failure: uppercase
|
|
│ │ │ does not handle digits")
|
|
│ │ │ def test_xfail_uppercase_digits():
|
|
│ │ │ # Expected fail test because uppercase won't change
|
|
│ │ │ digits
|
|
│ │ │ > assert uppercase("abc123") == "ABC1234"
|
|
│ │ │ E AssertionError: assert 'ABC123' == 'ABC1234'
|
|
│ │ │ E
|
|
│ │ │ E - ABC1234
|
|
│ │ │ E ? -
|
|
│ │ │ E + ABC123
|
|
│ │ │
|
|
│ │ │ tests/test_string_utils.py:41: AssertionError
|
|
│ │ └── teardown
|
|
│ │ ├── duration: 0.00014628400094807148
|
|
│ │ └── outcome: passed
|
|
│ └── -
|
|
│ ├── nodeid: tests/test_string_utils.py::test_keyboard_interrupt_direct
|
|
│ ├── lineno: 48
|
|
│ ├── outcome: passed
|
|
│ ├── keywords
|
|
│ │ ├── test_keyboard_interrupt_direct
|
|
│ │ ├── test_string_utils.py
|
|
│ │ ├── tests
|
|
│ │ ├── slic
|
|
│ │ └──
|
|
│ └── setup
|
|
│ ├── duration: 0.00012111617252230644
|
|
│ └── 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
|