Table of Contents
🔗 CI run #381 for commit 7182dca — Update .gitea/workflows/test.yml
🧪 Rapport de Tests
Généré le 2025-07-11 11:47:27
📋 Résumé
- Passed:
12 - Failed:
4 - Total:
16 - Collected:
16 - Durée totale:
7.491s
📚 Collectés
✅ (1 tests)
✅
- Outcome:
passed - Details:
result:
[
{
"nodeid": ".",
"type": "Dir"
}
]
✅ allure-results (1 tests)
✅ allure-results
- Outcome:
passed - Details:
result:
[]
✅ ci-reports (16 tests)
✅ ci-reports
- Outcome:
passed - Details:
result:
[
{
"nodeid": "ci-reports/allure",
"type": "Dir"
},
{
"nodeid": "ci-reports/coverage",
"type": "Dir"
},
{
"nodeid": "ci-reports/junit",
"type": "Dir"
},
{
"nodeid": "ci-reports/markdown",
"type": "Dir"
},
{
"nodeid": "ci-reports/test-reports",
"type": "Dir"
}
]
✅ ci-reports/allure
- Outcome:
passed - Details:
result:
[
{
"nodeid": "ci-reports/allure/data",
"type": "Dir"
},
{
"nodeid": "ci-reports/allure/export",
"type": "Dir"
},
{
"nodeid": "ci-reports/allure/history",
"type": "Dir"
},
{
"nodeid": "ci-reports/allure/plugin",
"type": "Dir"
},
{
"nodeid": "ci-reports/allure/widgets",
"type": "Dir"
}
]
✅ ci-reports/allure/data
- Outcome:
passed - Details:
result:
[
{
"nodeid": "ci-reports/allure/data/attachments",
"type": "Dir"
},
{
"nodeid": "ci-reports/allure/data/test-cases",
"type": "Dir"
}
]
✅ ci-reports/allure/data/attachments
- Outcome:
passed - Details:
result:
[]
✅ ci-reports/allure/data/test-cases
- Outcome:
passed - Details:
result:
[]
✅ ci-reports/allure/export
- Outcome:
passed - Details:
result:
[]
✅ ci-reports/allure/history
- Outcome:
passed - Details:
result:
[]
✅ ci-reports/allure/plugin
- Outcome:
passed - Details:
result:
[
{
"nodeid": "ci-reports/allure/plugin/behaviors",
"type": "Dir"
},
{
"nodeid": "ci-reports/allure/plugin/packages",
"type": "Dir"
},
{
"nodeid": "ci-reports/allure/plugin/screen-diff",
"type": "Dir"
}
]
✅ ci-reports/allure/plugin/behaviors
- Outcome:
passed - Details:
result:
[]
✅ ci-reports/allure/plugin/packages
- Outcome:
passed - Details:
result:
[]
✅ ci-reports/allure/plugin/screen-diff
- Outcome:
passed - Details:
result:
[]
✅ ci-reports/allure/widgets
- Outcome:
passed - Details:
result:
[]
✅ ci-reports/coverage
- Outcome:
passed - Details:
result:
[]
✅ ci-reports/junit
- Outcome:
passed - Details:
result:
[]
✅ ci-reports/markdown
- Outcome:
passed - Details:
result:
[]
✅ ci-reports/test-reports
- Outcome:
passed - Details:
result:
[]
✅ slic (30 tests)
✅ slic
- Outcome:
passed - Details:
result:
[
{
"nodeid": "slic/core",
"type": "Package"
},
{
"nodeid": "slic/devices",
"type": "Package"
},
{
"nodeid": "slic/gui",
"type": "Package"
},
{
"nodeid": "slic/utils",
"type": "Package"
}
]
✅ slic/core
- Outcome:
passed - Details:
result:
[
{
"nodeid": "slic/core/acquisition",
"type": "Package"
},
{
"nodeid": "slic/core/adjustable",
"type": "Package"
},
{
"nodeid": "slic/core/condition",
"type": "Package"
},
{
"nodeid": "slic/core/device",
"type": "Package"
},
{
"nodeid": "slic/core/scanner",
"type": "Package"
},
{
"nodeid": "slic/core/sensor",
"type": "Package"
},
{
"nodeid": "slic/core/task",
"type": "Package"
}
]
✅ slic/core/acquisition
- Outcome:
passed - Details:
result:
[
{
"nodeid": "slic/core/acquisition/broker",
"type": "Package"
}
]
✅ slic/core/acquisition/broker
- Outcome:
passed - Details:
result:
[]
✅ slic/core/adjustable
- Outcome:
passed - Details:
result:
[]
✅ slic/core/condition
- Outcome:
passed - Details:
result:
[]
✅ slic/core/device
- Outcome:
passed - Details:
result:
[]
✅ slic/core/scanner
- Outcome:
passed - Details:
result:
[]
✅ slic/core/sensor
- Outcome:
passed - Details:
result:
[]
✅ slic/core/task
- Outcome:
passed - Details:
result:
[]
✅ slic/devices
- Outcome:
passed - Details:
result:
[
{
"nodeid": "slic/devices/cameras",
"type": "Package"
},
{
"nodeid": "slic/devices/endstations",
"type": "Package"
},
{
"nodeid": "slic/devices/general",
"type": "Package"
},
{
"nodeid": "slic/devices/loptics",
"type": "Package"
},
{
"nodeid": "slic/devices/timing",
"type": "Package"
},
{
"nodeid": "slic/devices/xdiagnostics",
"type": "Package"
},
{
"nodeid": "slic/devices/xoptics",
"type": "Package"
}
]
✅ slic/devices/cameras
- Outcome:
passed - Details:
result:
[]
✅ slic/devices/endstations
- Outcome:
passed - Details:
result:
[]
✅ slic/devices/general
- Outcome:
passed - Details:
result:
[
{
"nodeid": "slic/devices/general/detectors",
"type": "Package"
},
{
"nodeid": "slic/devices/general/unused",
"type": "Dir"
}
]
✅ slic/devices/general/detectors
- Outcome:
passed - Details:
result:
[]
✅ slic/devices/general/unused
- Outcome:
passed - Details:
result:
[]
✅ slic/devices/loptics
- Outcome:
passed - Details:
result:
[]
✅ slic/devices/timing
- Outcome:
passed - Details:
result:
[
{
"nodeid": "slic/devices/timing/events",
"type": "Package"
}
]
✅ slic/devices/timing/events
- Outcome:
passed - Details:
result:
[]
✅ slic/devices/xdiagnostics
- Outcome:
passed - Details:
result:
[]
✅ slic/devices/xoptics
- Outcome:
passed - Details:
result:
[
{
"nodeid": "slic/devices/xoptics/slits",
"type": "Package"
},
{
"nodeid": "slic/devices/xoptics/unused",
"type": "Dir"
}
]
✅ slic/devices/xoptics/slits
- Outcome:
passed - Details:
result:
[]
✅ slic/devices/xoptics/unused
- Outcome:
passed - Details:
result:
[]
✅ slic/gui
- Outcome:
passed - Details:
result:
[
{
"nodeid": "slic/gui/daqpanels",
"type": "Package"
},
{
"nodeid": "slic/gui/widgets",
"type": "Package"
}
]
✅ slic/gui/daqpanels
- Outcome:
passed - Details:
result:
[]
✅ slic/gui/widgets
- Outcome:
passed - Details:
result:
[]
✅ slic/utils
- Outcome:
passed - Details:
result:
[
{
"nodeid": "slic/utils/ioc",
"type": "Package"
},
{
"nodeid": "slic/utils/unused",
"type": "Dir"
}
]
✅ slic/utils/ioc
- Outcome:
passed - Details:
result:
[]
✅ slic/utils/unused
- Outcome:
passed - Details:
result:
[
{
"nodeid": "slic/utils/unused/xsim",
"type": "Package"
}
]
✅ slic/utils/unused/xsim
- Outcome:
passed - Details:
result:
[]
✅ tests (2 tests)
✅ tests
- Outcome:
passed - Details:
result:
[
{
"nodeid": "tests/test_utils_ask_yes_no.py",
"type": "Module"
}
]
✅ tests/test_utils_ask_yes_no.py
- Outcome:
passed - Details:
result:
[
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-y-True-Question? [y/n] ]",
"type": "Function",
"lineno": 10
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-yes-True-Question? [y/n] ]",
"type": "Function",
"lineno": 10
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ]",
"type": "Function",
"lineno": 10
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-no-True-Question? [y/n] ]",
"type": "Function",
"lineno": 10
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-user_input4-True-Question? [y/n] ]",
"type": "Function",
"lineno": 10
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-user_input5-False-Question? [y/n] ]",
"type": "Function",
"lineno": 10
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-user_input6-True-Question? [y/n] ]",
"type": "Function",
"lineno": 10
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[y-y-True-Question? [Y/n] ]",
"type": "Function",
"lineno": 10
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[y-n-True-Question? [Y/n] ]",
"type": "Function",
"lineno": 10
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[y--True-Question? [Y/n] ]",
"type": "Function",
"lineno": 10
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[n-y-True-Question? [y/N] ]",
"type": "Function",
"lineno": 10
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[n-n-True-Question? [y/N] ]",
"type": "Function",
"lineno": 10
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[n--False-Question? [y/N] ]",
"type": "Function",
"lineno": 10
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c",
"type": "Function",
"lineno": 44
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-False]",
"type": "Function",
"lineno": 49
},
{
"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[y-True]",
"type": "Function",
"lineno": 49
}
]
✅ . (1 tests)
✅ .
- Outcome:
passed - Details:
result:
[
{
"nodeid": "allure-results",
"type": "Dir"
},
{
"nodeid": "ci-reports",
"type": "Dir"
},
{
"nodeid": "slic",
"type": "Package"
},
{
"nodeid": "tests",
"type": "Dir"
}
]
🔎 Tests (Groupés par Statut)
✅ Passed (12)
📁 test_utils_ask_yes_no.py
🔧 Fonction: `test_ask_yes_no_with_defaults`
✅ #1
-
Statut: ✅
passed -
Durée:
0.000808s -
Paramètres (Allure):
default='n'expected_output=Trueexpected_prompt='Question? [y/N] 'user_input='y'
-
Sévérité:
normal
📌 Duration
0.0008078619721345603
📌 Outcome
passed
✅ #2
-
Statut: ✅
passed -
Durée:
0.000713s -
Paramètres (Allure):
default='n'expected_output=Trueexpected_prompt='Question? [y/N] 'user_input='y'
-
Sévérité:
normal
📌 Duration
0.0007127730059437454
📌 Outcome
passed
✅ #5
-
Statut: ✅
passed -
Durée:
0.000626s -
Paramètres (Allure):
default='n'expected_output=Trueexpected_prompt='Question? [y/N] 'user_input='y'
-
Sévérité:
normal
📌 Duration
0.0006263260147534311
📌 Outcome
passed
✅ #6
-
Statut: ✅
passed -
Durée:
0.000682s -
Paramètres (Allure):
default='n'expected_output=Trueexpected_prompt='Question? [y/N] 'user_input='y'
-
Sévérité:
normal
📌 Duration
0.0006824819720350206
📌 Outcome
passed
✅ #7
-
Statut: ✅
passed -
Durée:
0.000576s -
Paramètres (Allure):
default='n'expected_output=Trueexpected_prompt='Question? [y/N] 'user_input='y'
-
Sévérité:
normal
📌 Duration
0.0005759890191257
📌 Outcome
passed
✅ #8
-
Statut: ✅
passed -
Durée:
0.000553s -
Paramètres (Allure):
default='n'expected_output=Trueexpected_prompt='Question? [y/N] 'user_input='y'
-
Sévérité:
normal
📌 Duration
0.000553012010641396
📌 Outcome
passed
✅ #10
-
Statut: ✅
passed -
Durée:
0.000574s -
Paramètres (Allure):
default='n'expected_output=Trueexpected_prompt='Question? [y/N] 'user_input='y'
-
Sévérité:
normal
📌 Duration
0.0005740229971706867
📌 Outcome
passed
✅ #11
-
Statut: ✅
passed -
Durée:
0.000569s -
Paramètres (Allure):
default='n'expected_output=Trueexpected_prompt='Question? [y/N] 'user_input='y'
-
Sévérité:
normal
📌 Duration
0.0005688990349881351
📌 Outcome
passed
✅ #13
-
Statut: ✅
passed -
Durée:
0.000551s -
Paramètres (Allure):
default='n'expected_output=Trueexpected_prompt='Question? [y/N] 'user_input='y'
-
Sévérité:
normal
📌 Duration
0.0005511899944394827
📌 Outcome
passed
🔧 Fonction: `test_ask_yes_no_ctrl_c`
✅ #14
- Statut: ✅
passed - Durée:
0.000542s - Sévérité:
normal
📌 Duration
0.0005416770000010729
📌 Outcome
passed
📌 Stdout
🔧 Fonction: `test_ask_yes_no_ctrl_d`
✅ #15
-
Statut: ✅
passed -
Durée:
0.000670s -
Paramètres (Allure):
ctrl_d='y'expected_result=True
-
Sévérité:
normal
📌 Duration
0.0006700950325466692
📌 Outcome
passed
📌 Stdout
✅ #16
-
Statut: ✅
passed -
Durée:
0.000573s -
Paramètres (Allure):
ctrl_d='y'expected_result=True
-
Sévérité:
normal
📌 Duration
0.0005731310229748487
📌 Outcome
passed
📌 Stdout
❌ Failed (4)
📁 test_utils_ask_yes_no.py
🔧 Fonction: `test_ask_yes_no_with_defaults`
❌ #3
-
Statut: ❌
failed -
Durée:
0.001053s -
Paramètres (Allure):
default='n'expected_output=Trueexpected_prompt='Question? [y/N] 'user_input='y'
-
Sévérité:
normal
📌 Duration
0.0010532750166021287
📌 Outcome
failed
📌 Crash
path: /workspace/tligui_y/slic/tests/test_utils_ask_yes_no.py
lineno: 39
message: assert False == True
📌 Traceback
{'path': 'tests/test_utils_ask_yes_no.py', 'lineno': 39, 'message': 'AssertionError'}
📌 Longrepr
default = None, user_input = 'n', expected_output = True
expected_prompt = 'Question? [y/n] '
@pytest.mark.parametrize(
"default, user_input, expected_output, expected_prompt",
[
(None, 'y', True, "Question? [y/n] "),
(None, 'yes', True, "Question? [y/n] "),
(None, 'n', True, "Question? [y/n] "), #False
(None, 'no', True, "Question? [y/n] "), #False
(None, ['maybe', 'y'], True, "Question? [y/n] "),
(None, ['', 'no'], False, "Question? [y/n] "),
(None, ['invalid', 'yes'], True, "Question? [y/n] "),
('y', 'y', True, "Question? [Y/n] "),
('y', 'n', True, "Question? [Y/n] "), #False
('y', '', True, "Question? [Y/n] "),
('n', 'y', True, "Question? [y/N] "),
('n', 'n', True, "Question? [y/N] "), #False
('n', '', False, "Question? [y/N] "),
]
)
def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):
patch_target = 'slic.utils.ask_yes_no.read_input'
if isinstance(user_input, list):
input_patch = patch(patch_target, side_effect=user_input)
else:
input_patch = patch(patch_target, return_value=user_input)
with input_patch as mock_input:
result = ask_yes_no("Question", default=default)
> assert result == expected_output
E assert False == True
tests/test_utils_ask_yes_no.py:39: AssertionError
❌ #4
-
Statut: ❌
failed -
Durée:
0.000898s -
Paramètres (Allure):
default='n'expected_output=Trueexpected_prompt='Question? [y/N] 'user_input='y'
-
Sévérité:
normal
📌 Duration
0.000897509977221489
📌 Outcome
failed
📌 Crash
path: /workspace/tligui_y/slic/tests/test_utils_ask_yes_no.py
lineno: 39
message: assert False == True
📌 Traceback
{'path': 'tests/test_utils_ask_yes_no.py', 'lineno': 39, 'message': 'AssertionError'}
📌 Longrepr
default = None, user_input = 'no', expected_output = True
expected_prompt = 'Question? [y/n] '
@pytest.mark.parametrize(
"default, user_input, expected_output, expected_prompt",
[
(None, 'y', True, "Question? [y/n] "),
(None, 'yes', True, "Question? [y/n] "),
(None, 'n', True, "Question? [y/n] "), #False
(None, 'no', True, "Question? [y/n] "), #False
(None, ['maybe', 'y'], True, "Question? [y/n] "),
(None, ['', 'no'], False, "Question? [y/n] "),
(None, ['invalid', 'yes'], True, "Question? [y/n] "),
('y', 'y', True, "Question? [Y/n] "),
('y', 'n', True, "Question? [Y/n] "), #False
('y', '', True, "Question? [Y/n] "),
('n', 'y', True, "Question? [y/N] "),
('n', 'n', True, "Question? [y/N] "), #False
('n', '', False, "Question? [y/N] "),
]
)
def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):
patch_target = 'slic.utils.ask_yes_no.read_input'
if isinstance(user_input, list):
input_patch = patch(patch_target, side_effect=user_input)
else:
input_patch = patch(patch_target, return_value=user_input)
with input_patch as mock_input:
result = ask_yes_no("Question", default=default)
> assert result == expected_output
E assert False == True
tests/test_utils_ask_yes_no.py:39: AssertionError
❌ #9
-
Statut: ❌
failed -
Durée:
0.000691s -
Paramètres (Allure):
default='n'expected_output=Trueexpected_prompt='Question? [y/N] 'user_input='y'
-
Sévérité:
normal
📌 Duration
0.0006907069473527372
📌 Outcome
failed
📌 Crash
path: /workspace/tligui_y/slic/tests/test_utils_ask_yes_no.py
lineno: 39
message: assert False == True
📌 Traceback
{'path': 'tests/test_utils_ask_yes_no.py', 'lineno': 39, 'message': 'AssertionError'}
📌 Longrepr
default = 'y', user_input = 'n', expected_output = True
expected_prompt = 'Question? [Y/n] '
@pytest.mark.parametrize(
"default, user_input, expected_output, expected_prompt",
[
(None, 'y', True, "Question? [y/n] "),
(None, 'yes', True, "Question? [y/n] "),
(None, 'n', True, "Question? [y/n] "), #False
(None, 'no', True, "Question? [y/n] "), #False
(None, ['maybe', 'y'], True, "Question? [y/n] "),
(None, ['', 'no'], False, "Question? [y/n] "),
(None, ['invalid', 'yes'], True, "Question? [y/n] "),
('y', 'y', True, "Question? [Y/n] "),
('y', 'n', True, "Question? [Y/n] "), #False
('y', '', True, "Question? [Y/n] "),
('n', 'y', True, "Question? [y/N] "),
('n', 'n', True, "Question? [y/N] "), #False
('n', '', False, "Question? [y/N] "),
]
)
def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):
patch_target = 'slic.utils.ask_yes_no.read_input'
if isinstance(user_input, list):
input_patch = patch(patch_target, side_effect=user_input)
else:
input_patch = patch(patch_target, return_value=user_input)
with input_patch as mock_input:
result = ask_yes_no("Question", default=default)
> assert result == expected_output
E assert False == True
tests/test_utils_ask_yes_no.py:39: AssertionError
❌ #12
-
Statut: ❌
failed -
Durée:
0.000675s -
Paramètres (Allure):
default='n'expected_output=Trueexpected_prompt='Question? [y/N] 'user_input='y'
-
Sévérité:
normal
📌 Duration
0.0006752120098099113
📌 Outcome
failed
📌 Crash
path: /workspace/tligui_y/slic/tests/test_utils_ask_yes_no.py
lineno: 39
message: assert False == True
📌 Traceback
{'path': 'tests/test_utils_ask_yes_no.py', 'lineno': 39, 'message': 'AssertionError'}
📌 Longrepr
default = 'n', user_input = 'n', expected_output = True
expected_prompt = 'Question? [y/N] '
@pytest.mark.parametrize(
"default, user_input, expected_output, expected_prompt",
[
(None, 'y', True, "Question? [y/n] "),
(None, 'yes', True, "Question? [y/n] "),
(None, 'n', True, "Question? [y/n] "), #False
(None, 'no', True, "Question? [y/n] "), #False
(None, ['maybe', 'y'], True, "Question? [y/n] "),
(None, ['', 'no'], False, "Question? [y/n] "),
(None, ['invalid', 'yes'], True, "Question? [y/n] "),
('y', 'y', True, "Question? [Y/n] "),
('y', 'n', True, "Question? [Y/n] "), #False
('y', '', True, "Question? [Y/n] "),
('n', 'y', True, "Question? [y/N] "),
('n', 'n', True, "Question? [y/N] "), #False
('n', '', False, "Question? [y/N] "),
]
)
def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):
patch_target = 'slic.utils.ask_yes_no.read_input'
if isinstance(user_input, list):
input_patch = patch(patch_target, side_effect=user_input)
else:
input_patch = patch(patch_target, return_value=user_input)
with input_patch as mock_input:
result = ask_yes_no("Question", default=default)
> assert result == expected_output
E assert False == True
tests/test_utils_ask_yes_no.py:39: AssertionError