Table of Contents
- 🧪 Test Report
- 📋 Summary
- 🔎 Tests
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 🔧 Setup Phase
- 🔧 Call Phase
- 🔧 Teardown Phase
- 📚 Collected files
🔗 View CI run logs #627
** Commit:** e427861
🧪 Test Report
Generated on 2025-07-16 13:37:49
📋 Summary
- Passed:
28 - Failed:
4 - Total:
32 - Collected:
32 - Total Duration:
7.899s
🔎 Tests
✅ Passed (28)
📁 test_bis.py
🔧 Function: `test_ask_yes_no_with_defaults`
✅ #1
-
Status: ✅
passed -
Duration:
0.001070s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0015605880180373788
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0010697949910536408
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0019486489472910762
📌 Outcome
passed
✅ #2
-
Status: ✅
passed -
Duration:
0.000628s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006999950855970383
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.000628303037956357
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0012672960292547941
📌 Outcome
passed
✅ #4
-
Status: ✅
passed -
Duration:
0.000783s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0008260939503088593
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0007832050323486328
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0012252030428498983
📌 Outcome
passed
✅ #5
-
Status: ✅
passed -
Duration:
0.000818s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0007538578938692808
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0008181290468201041
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0012447999324649572
📌 Outcome
passed
✅ #6
-
Status: ✅
passed -
Duration:
0.000690s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0007219290127977729
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0006895959377288818
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0012560420436784625
📌 Outcome
passed
✅ #7
-
Status: ✅
passed -
Duration:
0.000616s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006706839194521308
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.000615627970546484
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0012885390315204859
📌 Outcome
passed
✅ #8
-
Status: ✅
passed -
Duration:
0.000575s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006446279585361481
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005748410476371646
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.001070520025677979
📌 Outcome
passed
✅ #9
-
Status: ✅
passed -
Duration:
0.000551s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006041419692337513
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005506700836122036
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0013160030357539654
📌 Outcome
passed
✅ #10
-
Status: ✅
passed -
Duration:
0.000546s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006133739370852709
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005457849474623799
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0010516030015423894
📌 Outcome
passed
✅ #11
-
Status: ✅
passed -
Duration:
0.000546s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006029499927535653
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005456970538944006
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.001223335973918438
📌 Outcome
passed
✅ #12
-
Status: ✅
passed -
Duration:
0.000528s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006105870706960559
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005282500060275197
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0010983890388160944
📌 Outcome
passed
✅ #13
-
Status: ✅
passed -
Duration:
0.000549s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006164730293676257
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005491740303114057
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0012204609811306
📌 Outcome
passed
🔧 Function: `test_ask_yes_no_ctrl_c`
✅ #14
- Status: ✅
passed - Duration:
0.000532s - Severity:
normal
🔧 Setup Phase
📌 Duration
0.00018314400222152472
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005317030008882284
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.00020673195831477642
📌 Outcome
passed
🔧 Function: `test_ask_yes_no_ctrl_d`
✅ #15
-
Status: ✅
passed -
Duration:
0.000543s -
Parameters (Allure):
ctrl_d='n'expected_result=False
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0004134650807827711
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005431469762697816
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0007226370507851243
📌 Outcome
passed
✅ #16
-
Status: ✅
passed -
Duration:
0.001156s -
Parameters (Allure):
ctrl_d='n'expected_result=False
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.00043984397780150175
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0011561040300875902
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0007536379853263497
📌 Outcome
passed
📁 test_utils_ask_yes_no.py
🔧 Function: `test_ask_yes_no_with_defaults`
✅ #17
-
Status: ✅
passed -
Duration:
0.000549s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006434989627450705
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005486870650202036
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0011233839904889464
📌 Outcome
passed
✅ #18
-
Status: ✅
passed -
Duration:
0.000556s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006156909512355924
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005558360135182738
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0012635780731216073
📌 Outcome
passed
✅ #20
-
Status: ✅
passed -
Duration:
0.000548s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006618059705942869
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.00054833700414747
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.00106648204382509
📌 Outcome
passed
✅ #21
-
Status: ✅
passed -
Duration:
0.000570s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006404699524864554
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005700549809262156
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.001271792920306325
📌 Outcome
passed
✅ #22
-
Status: ✅
passed -
Duration:
0.000554s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.000608384027145803
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005541669670492411
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0010851859115064144
📌 Outcome
passed
✅ #23
-
Status: ✅
passed -
Duration:
0.000570s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006447189953178167
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005697159795090556
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0012447399785742164
📌 Outcome
passed
✅ #24
-
Status: ✅
passed -
Duration:
0.000529s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.00059933599550277
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005292610730975866
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0011019139783456922
📌 Outcome
passed
✅ #26
-
Status: ✅
passed -
Duration:
0.000553s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006248840363696218
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005531329661607742
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0010704179294407368
📌 Outcome
passed
✅ #27
-
Status: ✅
passed -
Duration:
0.000568s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006044460460543633
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005680499598383904
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0012099009472876787
📌 Outcome
passed
✅ #29
-
Status: ✅
passed -
Duration:
0.000546s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0005935219815000892
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005464120768010616
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0011279260506853461
📌 Outcome
passed
🔧 Function: `test_ask_yes_no_ctrl_c`
✅ #30
- Status: ✅
passed - Duration:
0.000536s - Severity:
normal
🔧 Setup Phase
📌 Duration
0.00018562807235866785
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0005363519303500652
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.00020284403581172228
📌 Outcome
passed
🔧 Function: `test_ask_yes_no_ctrl_d`
✅ #31
-
Status: ✅
passed -
Duration:
0.000651s -
Parameters (Allure):
ctrl_d='n'expected_result=False
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0004397149896249175
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0006507410435006022
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0007004169747233391
📌 Outcome
passed
✅ #32
-
Status: ✅
passed -
Duration:
0.000575s -
Parameters (Allure):
ctrl_d='n'expected_result=False
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0004366820212453604
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.000574842095375061
📌 Outcome
passed
🔧 Teardown Phase
📌 Duration
0.0007284899475052953
📌 Outcome
passed
❌ Failed (4)
📁 test_bis.py
🔧 Function: `test_ask_yes_no_with_defaults`
❌ #3
-
Status: ❌
failed -
Duration:
0.001077s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006871350342407823
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0010766969062387943
📌 Outcome
failed
📌 Crash
path: /workspace/tligui_y/slic/tests/test_bis.py
lineno: 39
message: assert False == True
📌 Traceback
path: tests/test_bis.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', False, "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', False, "Question? [Y/n] "), #False
('y', '', True, "Question? [Y/n] "),
('n', 'y', True, "Question? [y/N] "),
('n', 'n', False, "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_bis.py:39: AssertionError
🔧 Teardown Phase
📌 Duration
0.0017704690108075738
📌 Outcome
passed
📁 test_utils_ask_yes_no.py
🔧 Function: `test_ask_yes_no_with_defaults`
❌ #19
-
Status: ❌
failed -
Duration:
0.000736s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006077940342947841
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0007358350558206439
📌 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', False, "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
🔧 Teardown Phase
📌 Duration
0.0011065630242228508
📌 Outcome
passed
❌ #25
-
Status: ❌
failed -
Duration:
0.000717s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006107420194894075
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0007170690223574638
📌 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', False, "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
🔧 Teardown Phase
📌 Duration
0.0010978539939969778
📌 Outcome
passed
❌ #28
-
Status: ❌
failed -
Duration:
0.000666s -
Parameters (Allure):
default=Noneexpected_output=Trueexpected_prompt='Question? [y/n] 'user_input='yes'
-
Severity:
normal
🔧 Setup Phase
📌 Duration
0.0006174090085551143
📌 Outcome
passed
🔧 Call Phase
📌 Duration
0.0006656319601461291
📌 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', False, "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
🔧 Teardown Phase
📌 Duration
0.0011392181040719151
📌 Outcome
passed
📚 Collected files
✅ (1 tests)
✅
- Outcome:
passed - Details:
result:
nodeid: .
type: Dir
✅ allure-results (1 tests)
✅ allure-results
- Outcome:
passed - Details:
result:
[]
✅ ci-reports (14 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
✅ 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/test-cases
type: Dir
✅ 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:
[]
✅ 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 (3 tests)
✅ tests
- Outcome:
passed - Details:
result:
nodeid: tests/test_bis.py
type: Module
nodeid: tests/test_utils_ask_yes_no.py
type: Module
✅ tests/test_bis.py
- Outcome:
passed - Details:
result:
nodeid: tests/test_bis.py::test_ask_yes_no_with_defaults[None-y-True-Question? [y/n] ]
type: Function
lineno: 10
nodeid: tests/test_bis.py::test_ask_yes_no_with_defaults[None-yes-True-Question? [y/n] ]
type: Function
lineno: 10
nodeid: tests/test_bis.py::test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ]
type: Function
lineno: 10
nodeid: tests/test_bis.py::test_ask_yes_no_with_defaults[None-no-False-Question? [y/n] ]
type: Function
lineno: 10
nodeid: tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_input4-True-Question? [y/n] ]
type: Function
lineno: 10
nodeid: tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_input5-False-Question? [y/n] ]
type: Function
lineno: 10
nodeid: tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_input6-True-Question? [y/n] ]
type: Function
lineno: 10
nodeid: tests/test_bis.py::test_ask_yes_no_with_defaults[y-y-True-Question? [Y/n] ]
type: Function
lineno: 10
nodeid: tests/test_bis.py::test_ask_yes_no_with_defaults[y-n-False-Question? [Y/n] ]
type: Function
lineno: 10
nodeid: tests/test_bis.py::test_ask_yes_no_with_defaults[y--True-Question? [Y/n] ]
type: Function
lineno: 10
nodeid: tests/test_bis.py::test_ask_yes_no_with_defaults[n-y-True-Question? [y/N] ]
type: Function
lineno: 10
nodeid: tests/test_bis.py::test_ask_yes_no_with_defaults[n-n-False-Question? [y/N] ]
type: Function
lineno: 10
nodeid: tests/test_bis.py::test_ask_yes_no_with_defaults[n--False-Question? [y/N] ]
type: Function
lineno: 10
nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_c
type: Function
lineno: 44
nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_d[n-False]
type: Function
lineno: 49
nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_d[y-True]
type: Function
lineno: 49
✅ 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-False-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