diff --git a/ci-reports/markdown/TEST-REPORT.md b/ci-reports/markdown/TEST-REPORT.md
index 00329710f..db08db06f 100644
--- a/ci-reports/markdown/TEST-REPORT.md
+++ b/ci-reports/markdown/TEST-REPORT.md
@@ -1,8 +1,34 @@
+β
**Pytest completed successfully**
+
+> All tests were collected and executed properly. See the details below.
+
+
+π Short test summary info
+
+```python
+=========================== short test summary info ============================
+FAILED tests/test_bis.py::test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ] - assert False == True
+FAILED tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ] - assert False == True
+FAILED tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[y-n-True-Question? [Y/n] ] - assert False == True
+FAILED tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[n-n-True-Question? [y/N] ] - assert False == True
+=================== 4 failed, 28 passed, 4 warnings in 7.29s ===================
+```
+
+
+
+πͺ΅ Full raw pytest log
+
+```python
+[E 250722 12:57:24 tools:40] cannot assign endstation to IP 172.18.0.3 (af207ff77601)?[W 250722 12:57:24 alarm:13] could not set up DBusNotify: No module named 'dbus'?============================= test session starts ==============================?platform linux -- Python 3.8.20, pytest-8.3.4, pluggy-1.5.0?rootdir: /workspace/tligui_y/slic?plugins: html-4.1.1, cov-5.0.0, metadata-3.1.1, allure-pytest-2.13.5, md-report-0.6.2, json-report-1.5.0??]0;βslic?[W 250722 12:57:25 pvpreload:38] PV preload file not loaded due to: FileNotFoundError: [Errno 2] No such file or directory: '/root/.slic/pvpreload'?collected 32 items??tests/test_bis.py ..F..........?.?.?.?tests/test_utils_ask_yes_no.py ..F.....F..F.?.?.?.??=================================== FAILURES ===================================?_________ test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ] __________??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?_________ test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ] __________??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?___________ test_ask_yes_no_with_defaults[y-n-True-Question? [Y/n] ] ___________??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?___________ test_ask_yes_no_with_defaults[n-n-True-Question? [y/N] ] ___________??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?=============================== warnings summary ===============================?.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py:207? /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py:207: DeprecationWarning: invalid escape sequence \-? if not re.match('^tcp://[a-zA-Z.\-0-9]+:[0-9]+$', address):??.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/ca.py:28? /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/ca.py:28: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html??.pixi/envs/default/lib/python3.8/site-packages/pkg_resources/__init__.py:3154? /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pkg_resources/__init__.py:3154: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('mpl_toolkits')`.? Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages? declare_namespace(pkg)??.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py:97? /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py:97: DeprecationWarning: The module numpy.dual is deprecated. Instead of using dual, use the functions directly from numpy or scipy.? from numpy.dual import register_func??-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html?--------------------------------- JSON report ----------------------------------?report saved to: ci-reports/markdown/pytest-report.json??---------- coverage: platform linux, python 3.8.20-final-0 -----------?Coverage HTML written to dir ci-reports/coverage/?Coverage XML written to file ci-reports/coverage/coverage.xml??=========================== short test summary info ============================?FAILED tests/test_bis.py::test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ] - assert False == True?FAILED tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ] - assert False == True?FAILED tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[y-n-True-Question? [Y/n] ] - assert False == True?FAILED tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[n-n-True-Question? [y/N] ] - assert False == True?=================== 4 failed, 28 passed, 4 warnings in 7.29s ===================??]0;Terminal?```
+
+
+---
+
# π§ͺ Test Report
-*Generated on 2025-07-22 14:51:51 CEST*
+*Generated on 2025-07-22 14:57:30 CEST*
## π§Ύ General Info
-- **duration**: 7.127139329910278
+- **duration**: 7.290952205657959
- **root**: /workspace/tligui_y/slic
- **environment**: {}
@@ -40,7 +66,7 @@
**duration:**
```python
- 0.0006301437970250845
+ 0.0007172678597271442
```
**outcome:**
@@ -54,7 +80,7 @@
**duration:**
```python
- 0.0006640439387410879
+ 0.0007613049820065498
```
**outcome:**
@@ -68,7 +94,7 @@
**duration:**
```python
- 0.00041092606261372566
+ 0.00046321703121066093
```
**outcome:**
@@ -96,7 +122,7 @@
**duration:**
```python
- 0.0003656770568341017
+ 0.0003488061483949423
```
**outcome:**
@@ -110,7 +136,7 @@
**duration:**
```python
- 0.0005132700316607952
+ 0.0005375458858907223
```
**outcome:**
@@ -124,7 +150,7 @@
**duration:**
```python
- 0.00019243895076215267
+ 0.00020177592523396015
```
**outcome:**
@@ -152,7 +178,7 @@
**duration:**
```python
- 0.00035449815914034843
+ 0.0004081409424543381
```
**outcome:**
@@ -166,7 +192,7 @@
**duration:**
```python
- 0.0005966548342257738
+ 0.0006725650746375322
```
**outcome:**
@@ -180,7 +206,7 @@
**duration:**
```python
- 0.0002007950097322464
+ 0.00020293984562158585
```
**outcome:**
@@ -210,7 +236,7 @@
**duration:**
```python
- 0.0003249938599765301
+ 0.00033845892176032066
```
**outcome:**
@@ -224,7 +250,7 @@
**duration:**
```python
- 0.0005573809612542391
+ 0.0005437780637294054
```
**outcome:**
@@ -238,7 +264,7 @@
**duration:**
```python
- 0.00019603082910180092
+ 0.0001787759829312563
```
**outcome:**
@@ -268,7 +294,7 @@
**duration:**
```python
- 0.0003310691099613905
+ 0.00032060407102108
```
**outcome:**
@@ -282,7 +308,7 @@
**duration:**
```python
- 0.0005317009054124355
+ 0.000526736956089735
```
**outcome:**
@@ -296,7 +322,7 @@
**duration:**
```python
- 0.00019105011597275734
+ 0.00018453202210366726
```
**outcome:**
@@ -326,7 +352,7 @@
**duration:**
```python
- 0.00033452617935836315
+ 0.000332819065079093
```
**outcome:**
@@ -340,7 +366,7 @@
**duration:**
```python
- 0.0006286271382123232
+ 0.0006050909869372845
```
**outcome:**
@@ -354,7 +380,7 @@
**duration:**
```python
- 0.00018359790556132793
+ 0.00019279401749372482
```
**outcome:**
@@ -382,7 +408,7 @@
**duration:**
```python
- 0.0003082479815930128
+ 0.0003260010853409767
```
**outcome:**
@@ -396,7 +422,7 @@
**duration:**
```python
- 0.0004937800113111734
+ 0.0005020699463784695
```
**outcome:**
@@ -410,7 +436,7 @@
**duration:**
```python
- 0.00018647406250238419
+ 0.00019663083367049694
```
**outcome:**
@@ -438,7 +464,7 @@
**duration:**
```python
- 0.0003094109706580639
+ 0.00031798495911061764
```
**outcome:**
@@ -452,7 +478,7 @@
**duration:**
```python
- 0.0005076550878584385
+ 0.000504183117300272
```
**outcome:**
@@ -466,7 +492,7 @@
**duration:**
```python
- 0.00017952686175704002
+ 0.0001849168911576271
```
**outcome:**
@@ -494,7 +520,7 @@
**duration:**
```python
- 0.0003170599229633808
+ 0.00032025109976530075
```
**outcome:**
@@ -508,7 +534,7 @@
**duration:**
```python
- 0.0004958589561283588
+ 0.0004960880614817142
```
**outcome:**
@@ -522,7 +548,7 @@
**duration:**
```python
- 0.0001803531777113676
+ 0.00018551410175859928
```
**outcome:**
@@ -550,7 +576,7 @@
**duration:**
```python
- 0.00031550414860248566
+ 0.0003172149881720543
```
**outcome:**
@@ -564,7 +590,7 @@
**duration:**
```python
- 0.0006077948492020369
+ 0.0005855201743543148
```
**outcome:**
@@ -578,7 +604,7 @@
**duration:**
```python
- 0.00018411199562251568
+ 0.000191499013453722
```
**outcome:**
@@ -606,7 +632,7 @@
**duration:**
```python
- 0.0003203009255230427
+ 0.000323454849421978
```
**outcome:**
@@ -620,7 +646,7 @@
**duration:**
```python
- 0.0005213960539549589
+ 0.0005006450228393078
```
**outcome:**
@@ -634,7 +660,7 @@
**duration:**
```python
- 0.00018658814951777458
+ 0.0001777529250830412
```
**outcome:**
@@ -662,7 +688,7 @@
**duration:**
```python
- 0.0003242718521505594
+ 0.0003164149820804596
```
**outcome:**
@@ -676,7 +702,7 @@
**duration:**
```python
- 0.0004881080240011215
+ 0.00048556108959019184
```
**outcome:**
@@ -690,7 +716,7 @@
**duration:**
```python
- 0.00018681702204048634
+ 0.0001999379601329565
```
**outcome:**
@@ -708,7 +734,7 @@
**duration:**
```python
- 0.00011291285045444965
+ 0.0001239569392055273
```
**outcome:**
@@ -722,7 +748,7 @@
**duration:**
```python
- 0.000499204033985734
+ 0.0005307979881763458
```
**outcome:**
@@ -736,7 +762,7 @@
**duration:**
```python
- 0.00010821199975907803
+ 0.0001104611437767744
```
**outcome:**
@@ -763,7 +789,7 @@
**duration:**
```python
- 0.00024448311887681484
+ 0.000231883954256773
```
**outcome:**
@@ -777,7 +803,7 @@
**duration:**
```python
- 0.001262086909264326
+ 0.0005971789360046387
```
**outcome:**
@@ -791,7 +817,7 @@
**duration:**
```python
- 0.00016740290448069572
+ 0.00015460490249097347
```
**outcome:**
@@ -817,7 +843,7 @@
**duration:**
```python
- 0.00025003915652632713
+ 0.00023105088621377945
```
**outcome:**
@@ -831,7 +857,7 @@
**duration:**
```python
- 0.000521114794537425
+ 0.0004912449512630701
```
**outcome:**
@@ -845,7 +871,7 @@
**duration:**
```python
- 0.00016684713773429394
+ 0.00015387614257633686
```
**outcome:**
@@ -879,7 +905,7 @@
**duration:**
```python
- 0.00034748390316963196
+ 0.00033498904667794704
```
**outcome:**
@@ -893,7 +919,7 @@
**duration:**
```python
- 0.000510023906826973
+ 0.0005011840257793665
```
**outcome:**
@@ -907,7 +933,7 @@
**duration:**
```python
- 0.0001905329991132021
+ 0.00018330011516809464
```
**outcome:**
@@ -935,7 +961,7 @@
**duration:**
```python
- 0.0003248988650739193
+ 0.0003292178735136986
```
**outcome:**
@@ -949,7 +975,7 @@
**duration:**
```python
- 0.0005876829382032156
+ 0.0005959300324320793
```
**outcome:**
@@ -963,7 +989,7 @@
**duration:**
```python
- 0.00018879002891480923
+ 0.0001883909571915865
```
**outcome:**
@@ -991,7 +1017,7 @@
**duration:**
```python
- 0.0003340227995067835
+ 0.00033209403045475483
```
**outcome:**
@@ -1005,7 +1031,7 @@
**duration:**
```python
- 0.0005178081337362528
+ 0.0005270622204989195
```
**outcome:**
@@ -1019,7 +1045,7 @@
**duration:**
```python
- 0.00018756883218884468
+ 0.0001831690315157175
```
**outcome:**
@@ -1049,7 +1075,7 @@
**duration:**
```python
- 0.0003353999927639961
+ 0.00036361790262162685
```
**outcome:**
@@ -1063,7 +1089,7 @@
**duration:**
```python
- 0.0005446749273687601
+ 0.0005405200645327568
```
**outcome:**
@@ -1077,7 +1103,7 @@
**duration:**
```python
- 0.0001889960840344429
+ 0.00019301380962133408
```
**outcome:**
@@ -1107,7 +1133,7 @@
**duration:**
```python
- 0.00032709608785808086
+ 0.0003180410712957382
```
**outcome:**
@@ -1121,7 +1147,7 @@
**duration:**
```python
- 0.0005076839588582516
+ 0.0005161501467227936
```
**outcome:**
@@ -1135,7 +1161,7 @@
**duration:**
```python
- 0.00018009915947914124
+ 0.000177829060703516
```
**outcome:**
@@ -1165,7 +1191,7 @@
**duration:**
```python
- 0.0003091560211032629
+ 0.00031517515890300274
```
**outcome:**
@@ -1179,7 +1205,7 @@
**duration:**
```python
- 0.0006551539991050959
+ 0.0006273128092288971
```
**outcome:**
@@ -1193,7 +1219,7 @@
**duration:**
```python
- 0.00020103389397263527
+ 0.00018784613348543644
```
**outcome:**
@@ -1221,7 +1247,7 @@
**duration:**
```python
- 0.00032242201268672943
+ 0.00032654800452291965
```
**outcome:**
@@ -1235,7 +1261,7 @@
**duration:**
```python
- 0.0004950740840286016
+ 0.00048433709889650345
```
**outcome:**
@@ -1249,7 +1275,7 @@
**duration:**
```python
- 0.00017378386110067368
+ 0.00018191803246736526
```
**outcome:**
@@ -1277,7 +1303,7 @@
**duration:**
```python
- 0.00032926606945693493
+ 0.0003288029693067074
```
**outcome:**
@@ -1291,7 +1317,7 @@
**duration:**
```python
- 0.0005370981525629759
+ 0.0005209462251514196
```
**outcome:**
@@ -1305,7 +1331,7 @@
**duration:**
```python
- 0.00018470385111868382
+ 0.0001933341845870018
```
**outcome:**
@@ -1333,7 +1359,7 @@
**duration:**
```python
- 0.0003360658884048462
+ 0.0003316621296107769
```
**outcome:**
@@ -1347,7 +1373,7 @@
**duration:**
```python
- 0.0004947548732161522
+ 0.0004844169598072767
```
**outcome:**
@@ -1361,7 +1387,7 @@
**duration:**
```python
- 0.00018481304869055748
+ 0.00018170499242842197
```
**outcome:**
@@ -1389,7 +1415,7 @@
**duration:**
```python
- 0.00032685394398868084
+ 0.00034043099731206894
```
**outcome:**
@@ -1403,7 +1429,7 @@
**duration:**
```python
- 0.0005276871379464865
+ 0.0005094569642096758
```
**outcome:**
@@ -1417,7 +1443,7 @@
**duration:**
```python
- 0.0001871821004897356
+ 0.0001854700967669487
```
**outcome:**
@@ -1435,7 +1461,7 @@
**duration:**
```python
- 0.00011463905684649944
+ 0.0001161620020866394
```
**outcome:**
@@ -1449,7 +1475,7 @@
**duration:**
```python
- 0.0004924479871988297
+ 0.0004972580354660749
```
**outcome:**
@@ -1463,7 +1489,7 @@
**duration:**
```python
- 0.00011322600767016411
+ 0.00011775991879403591
```
**outcome:**
@@ -1490,7 +1516,7 @@
**duration:**
```python
- 0.00023624394088983536
+ 0.0002349440474063158
```
**outcome:**
@@ -1504,7 +1530,7 @@
**duration:**
```python
- 0.0005195499397814274
+ 0.0005135659594088793
```
**outcome:**
@@ -1518,7 +1544,7 @@
**duration:**
```python
- 0.00014851195737719536
+ 0.0001578440424054861
```
**outcome:**
@@ -1544,7 +1570,7 @@
**duration:**
```python
- 0.00022947601974010468
+ 0.00023195799440145493
```
**outcome:**
@@ -1558,7 +1584,7 @@
**duration:**
```python
- 0.0005944170989096165
+ 0.0006068767979741096
```
**outcome:**
@@ -1572,7 +1598,7 @@
**duration:**
```python
- 0.00015328405424952507
+ 0.0001626908779144287
```
**outcome:**
@@ -1611,7 +1637,7 @@
**duration:**
```python
- 0.00031361100263893604
+ 0.00031875213608145714
```
**outcome:**
@@ -1625,7 +1651,7 @@
**duration:**
```python
- 0.0008016838692128658
+ 0.0008582621812820435
```
**outcome:**
@@ -1695,7 +1721,7 @@
**duration:**
```python
- 0.00027920491993427277
+ 0.0003573459107428789
```
**outcome:**
@@ -1729,7 +1755,7 @@
**duration:**
```python
- 0.0003222918603569269
+ 0.00033744098618626595
```
**outcome:**
@@ -1743,7 +1769,7 @@
**duration:**
```python
- 0.000671671936288476
+ 0.0006595170125365257
```
**outcome:**
@@ -1813,7 +1839,7 @@
**duration:**
```python
- 0.00023453799076378345
+ 0.00021252990700304508
```
**outcome:**
@@ -1841,7 +1867,7 @@
**duration:**
```python
- 0.00033028307370841503
+ 0.00031353184022009373
```
**outcome:**
@@ -1855,7 +1881,7 @@
**duration:**
```python
- 0.0007043329533189535
+ 0.0006562960334122181
```
**outcome:**
@@ -1925,7 +1951,7 @@
**duration:**
```python
- 0.0002107108011841774
+ 0.00021115015260875225
```
**outcome:**
@@ -1953,7 +1979,7 @@
**duration:**
```python
- 0.00032263901084661484
+ 0.00033396086655557156
```
**outcome:**
@@ -1967,7 +1993,7 @@
**duration:**
```python
- 0.0006407857872545719
+ 0.0006767760496586561
```
**outcome:**
@@ -2037,7 +2063,7 @@
**duration:**
```python
- 0.00022517400793731213
+ 0.0002132919616997242
```
**outcome:**
diff --git a/ci-reports/markdown/json-tree-view.txt b/ci-reports/markdown/json-tree-view.txt
index 36b2c949b..e23b72867 100644
--- a/ci-reports/markdown/json-tree-view.txt
+++ b/ci-reports/markdown/json-tree-view.txt
@@ -1,6 +1,6 @@
π ci-reports/markdown/pytest-report.json
-βββ created: 1753188710.199424
-βββ duration: 7.127139329910278
+βββ created: 1753189049.558888
+βββ duration: 7.290952205657959
βββ exitcode: 1
βββ root: /workspace/tligui_y/slic
βββ environment
@@ -557,13 +557,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0006301437970250845
+β β β βββ duration: 0.0007172678597271442
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0006640439387410879
+β β β βββ duration: 0.0007613049820065498
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00041092606261372566
+β β βββ duration: 0.00046321703121066093
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -581,13 +581,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0003656770568341017
+β β β βββ duration: 0.0003488061483949423
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0005132700316607952
+β β β βββ duration: 0.0005375458858907223
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00019243895076215267
+β β βββ duration: 0.00020177592523396015
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -605,10 +605,10 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00031361100263893604
+β β β βββ duration: 0.00031875213608145714
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0008016838692128658
+β β β βββ duration: 0.0008582621812820435
β β β βββ outcome: failed
β β β βββ crash
β β β β βββ path: /workspace/tligui_y/slic/tests/test_bis.py
@@ -659,7 +659,7 @@
β β β
β β β tests/test_bis.py:39: AssertionError
β β βββ teardown
-β β βββ duration: 0.00027920491993427277
+β β βββ duration: 0.0003573459107428789
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -677,13 +677,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00035449815914034843
+β β β βββ duration: 0.0004081409424543381
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0005966548342257738
+β β β βββ duration: 0.0006725650746375322
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.0002007950097322464
+β β βββ duration: 0.00020293984562158585
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -701,13 +701,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0003249938599765301
+β β β βββ duration: 0.00033845892176032066
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0005573809612542391
+β β β βββ duration: 0.0005437780637294054
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00019603082910180092
+β β βββ duration: 0.0001787759829312563
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -726,13 +726,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0003310691099613905
+β β β βββ duration: 0.00032060407102108
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0005317009054124355
+β β β βββ duration: 0.000526736956089735
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00019105011597275734
+β β βββ duration: 0.00018453202210366726
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -750,13 +750,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00033452617935836315
+β β β βββ duration: 0.000332819065079093
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0006286271382123232
+β β β βββ duration: 0.0006050909869372845
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00018359790556132793
+β β βββ duration: 0.00019279401749372482
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -774,13 +774,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0003082479815930128
+β β β βββ duration: 0.0003260010853409767
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0004937800113111734
+β β β βββ duration: 0.0005020699463784695
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00018647406250238419
+β β βββ duration: 0.00019663083367049694
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -798,13 +798,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0003094109706580639
+β β β βββ duration: 0.00031798495911061764
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0005076550878584385
+β β β βββ duration: 0.000504183117300272
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00017952686175704002
+β β βββ duration: 0.0001849168911576271
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -822,13 +822,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0003170599229633808
+β β β βββ duration: 0.00032025109976530075
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0004958589561283588
+β β β βββ duration: 0.0004960880614817142
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.0001803531777113676
+β β βββ duration: 0.00018551410175859928
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -846,13 +846,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00031550414860248566
+β β β βββ duration: 0.0003172149881720543
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0006077948492020369
+β β β βββ duration: 0.0005855201743543148
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00018411199562251568
+β β βββ duration: 0.000191499013453722
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -870,13 +870,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0003203009255230427
+β β β βββ duration: 0.000323454849421978
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0005213960539549589
+β β β βββ duration: 0.0005006450228393078
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00018658814951777458
+β β βββ duration: 0.0001777529250830412
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -894,13 +894,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0003242718521505594
+β β β βββ duration: 0.0003164149820804596
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0004881080240011215
+β β β βββ duration: 0.00048556108959019184
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00018681702204048634
+β β βββ duration: 0.0001999379601329565
β β βββ outcome: passed
β βββ -
β β βββ nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_c
@@ -913,13 +913,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00011291285045444965
+β β β βββ duration: 0.0001239569392055273
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.000499204033985734
+β β β βββ duration: 0.0005307979881763458
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00010821199975907803
+β β βββ duration: 0.0001104611437767744
β β βββ outcome: passed
β βββ -
β β βββ nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_d
@@ -935,13 +935,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00024448311887681484
+β β β βββ duration: 0.000231883954256773
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.001262086909264326
+β β β βββ duration: 0.0005971789360046387
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00016740290448069572
+β β βββ duration: 0.00015460490249097347
β β βββ outcome: passed
β βββ -
β β βββ nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_d
@@ -957,13 +957,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00025003915652632713
+β β β βββ duration: 0.00023105088621377945
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.000521114794537425
+β β β βββ duration: 0.0004912449512630701
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00016684713773429394
+β β βββ duration: 0.00015387614257633686
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -981,13 +981,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00034748390316963196
+β β β βββ duration: 0.00033498904667794704
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.000510023906826973
+β β β βββ duration: 0.0005011840257793665
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.0001905329991132021
+β β βββ duration: 0.00018330011516809464
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -1005,13 +1005,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0003248988650739193
+β β β βββ duration: 0.0003292178735136986
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0005876829382032156
+β β β βββ duration: 0.0005959300324320793
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00018879002891480923
+β β βββ duration: 0.0001883909571915865
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -1029,10 +1029,10 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0003222918603569269
+β β β βββ duration: 0.00033744098618626595
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.000671671936288476
+β β β βββ duration: 0.0006595170125365257
β β β βββ outcome: failed
β β β βββ crash
β β β β βββ path:
@@ -1084,7 +1084,7 @@
β β β
β β β tests/test_utils_ask_yes_no.py:39: AssertionError
β β βββ teardown
-β β βββ duration: 0.00023453799076378345
+β β βββ duration: 0.00021252990700304508
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -1102,13 +1102,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0003340227995067835
+β β β βββ duration: 0.00033209403045475483
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0005178081337362528
+β β β βββ duration: 0.0005270622204989195
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00018756883218884468
+β β βββ duration: 0.0001831690315157175
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -1126,13 +1126,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0003353999927639961
+β β β βββ duration: 0.00036361790262162685
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0005446749273687601
+β β β βββ duration: 0.0005405200645327568
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.0001889960840344429
+β β βββ duration: 0.00019301380962133408
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -1151,13 +1151,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00032709608785808086
+β β β βββ duration: 0.0003180410712957382
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0005076839588582516
+β β β βββ duration: 0.0005161501467227936
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00018009915947914124
+β β βββ duration: 0.000177829060703516
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -1175,13 +1175,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0003091560211032629
+β β β βββ duration: 0.00031517515890300274
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0006551539991050959
+β β β βββ duration: 0.0006273128092288971
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00020103389397263527
+β β βββ duration: 0.00018784613348543644
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -1199,13 +1199,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00032242201268672943
+β β β βββ duration: 0.00032654800452291965
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0004950740840286016
+β β β βββ duration: 0.00048433709889650345
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00017378386110067368
+β β βββ duration: 0.00018191803246736526
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -1223,10 +1223,10 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00033028307370841503
+β β β βββ duration: 0.00031353184022009373
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0007043329533189535
+β β β βββ duration: 0.0006562960334122181
β β β βββ outcome: failed
β β β βββ crash
β β β β βββ path:
@@ -1278,7 +1278,7 @@
β β β
β β β tests/test_utils_ask_yes_no.py:39: AssertionError
β β βββ teardown
-β β βββ duration: 0.0002107108011841774
+β β βββ duration: 0.00021115015260875225
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -1296,13 +1296,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00032926606945693493
+β β β βββ duration: 0.0003288029693067074
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0005370981525629759
+β β β βββ duration: 0.0005209462251514196
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00018470385111868382
+β β βββ duration: 0.0001933341845870018
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -1320,13 +1320,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.0003360658884048462
+β β β βββ duration: 0.0003316621296107769
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0004947548732161522
+β β β βββ duration: 0.0004844169598072767
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00018481304869055748
+β β βββ duration: 0.00018170499242842197
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -1344,10 +1344,10 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00032263901084661484
+β β β βββ duration: 0.00033396086655557156
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0006407857872545719
+β β β βββ duration: 0.0006767760496586561
β β β βββ outcome: failed
β β β βββ crash
β β β β βββ path:
@@ -1399,7 +1399,7 @@
β β β
β β β tests/test_utils_ask_yes_no.py:39: AssertionError
β β βββ teardown
-β β βββ duration: 0.00022517400793731213
+β β βββ duration: 0.0002132919616997242
β β βββ outcome: passed
β βββ -
β β βββ nodeid:
@@ -1417,13 +1417,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00032685394398868084
+β β β βββ duration: 0.00034043099731206894
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0005276871379464865
+β β β βββ duration: 0.0005094569642096758
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.0001871821004897356
+β β βββ duration: 0.0001854700967669487
β β βββ outcome: passed
β βββ -
β β βββ nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c
@@ -1436,13 +1436,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00011463905684649944
+β β β βββ duration: 0.0001161620020866394
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0004924479871988297
+β β β βββ duration: 0.0004972580354660749
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00011322600767016411
+β β βββ duration: 0.00011775991879403591
β β βββ outcome: passed
β βββ -
β β βββ nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d
@@ -1458,13 +1458,13 @@
β β β βββ slic
β β β βββ
β β βββ setup
-β β β βββ duration: 0.00023624394088983536
+β β β βββ duration: 0.0002349440474063158
β β β βββ outcome: passed
β β βββ call
-β β β βββ duration: 0.0005195499397814274
+β β β βββ duration: 0.0005135659594088793
β β β βββ outcome: passed
β β βββ teardown
-β β βββ duration: 0.00014851195737719536
+β β βββ duration: 0.0001578440424054861
β β βββ outcome: passed
β βββ -
β βββ nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d
@@ -1480,13 +1480,13 @@
β β βββ slic
β β βββ
β βββ setup
-β β βββ duration: 0.00022947601974010468
+β β βββ duration: 0.00023195799440145493
β β βββ outcome: passed
β βββ call
-β β βββ duration: 0.0005944170989096165
+β β βββ duration: 0.0006068767979741096
β β βββ outcome: passed
β βββ teardown
-β βββ duration: 0.00015328405424952507
+β βββ duration: 0.0001626908779144287
β βββ outcome: passed
βββ warnings
βββ -
diff --git a/ci-reports/markdown/pytest-report.json b/ci-reports/markdown/pytest-report.json
index fd15478c5..ed3cd90ba 100644
--- a/ci-reports/markdown/pytest-report.json
+++ b/ci-reports/markdown/pytest-report.json
@@ -1 +1 @@
-{"created": 1753188710.199424, "duration": 7.127139329910278, "exitcode": 1, "root": "/workspace/tligui_y/slic", "environment": {}, "summary": {"passed": 28, "failed": 4, "total": 32, "collected": 32}, "collectors": [{"nodeid": "", "outcome": "passed", "result": [{"nodeid": ".", "type": "Dir"}]}, {"nodeid": "ci-reports/allure/data/test-cases", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/data", "outcome": "passed", "result": [{"nodeid": "ci-reports/allure/data/test-cases", "type": "Dir"}]}, {"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/junit", "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/junit", "type": "Dir"}, {"nodeid": "ci-reports/markdown", "type": "Dir"}]}, {"nodeid": "slic/core/acquisition/broker", "outcome": "passed", "result": []}, {"nodeid": "slic/core/acquisition", "outcome": "passed", "result": [{"nodeid": "slic/core/acquisition/broker", "type": "Package"}]}, {"nodeid": "slic/core/adjustable", "outcome": "passed", "result": []}, {"nodeid": "slic/core/condition", "outcome": "passed", "result": []}, {"nodeid": "slic/core/device", "outcome": "passed", "result": []}, {"nodeid": "slic/core/scanner", "outcome": "passed", "result": []}, {"nodeid": "slic/core/sensor", "outcome": "passed", "result": []}, {"nodeid": "slic/core/task", "outcome": "passed", "result": []}, {"nodeid": "slic/core", "outcome": "passed", "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"}]}, {"nodeid": "slic/devices/cameras", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/endstations", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/general/detectors", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/general/unused", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/general", "outcome": "passed", "result": [{"nodeid": "slic/devices/general/detectors", "type": "Package"}, {"nodeid": "slic/devices/general/unused", "type": "Dir"}]}, {"nodeid": "slic/devices/loptics", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/timing/events", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/timing", "outcome": "passed", "result": [{"nodeid": "slic/devices/timing/events", "type": "Package"}]}, {"nodeid": "slic/devices/xdiagnostics", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/xoptics/slits", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/xoptics/unused", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/xoptics", "outcome": "passed", "result": [{"nodeid": "slic/devices/xoptics/slits", "type": "Package"}, {"nodeid": "slic/devices/xoptics/unused", "type": "Dir"}]}, {"nodeid": "slic/devices", "outcome": "passed", "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"}]}, {"nodeid": "slic/gui/daqpanels", "outcome": "passed", "result": []}, {"nodeid": "slic/gui/widgets", "outcome": "passed", "result": []}, {"nodeid": "slic/gui", "outcome": "passed", "result": [{"nodeid": "slic/gui/daqpanels", "type": "Package"}, {"nodeid": "slic/gui/widgets", "type": "Package"}]}, {"nodeid": "slic/utils/ioc", "outcome": "passed", "result": []}, {"nodeid": "slic/utils/unused/xsim", "outcome": "passed", "result": []}, {"nodeid": "slic/utils/unused", "outcome": "passed", "result": [{"nodeid": "slic/utils/unused/xsim", "type": "Package"}]}, {"nodeid": "slic/utils", "outcome": "passed", "result": [{"nodeid": "slic/utils/ioc", "type": "Package"}, {"nodeid": "slic/utils/unused", "type": "Dir"}]}, {"nodeid": "slic", "outcome": "passed", "result": [{"nodeid": "slic/core", "type": "Package"}, {"nodeid": "slic/devices", "type": "Package"}, {"nodeid": "slic/gui", "type": "Package"}, {"nodeid": "slic/utils", "type": "Package"}]}, {"nodeid": "temp-ci", "outcome": "passed", "result": []}, {"nodeid": "tests/test_bis.py", "outcome": "passed", "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}]}, {"nodeid": "tests/test_utils_ask_yes_no.py", "outcome": "passed", "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}]}, {"nodeid": "tests", "outcome": "passed", "result": [{"nodeid": "tests/test_bis.py", "type": "Module"}, {"nodeid": "tests/test_utils_ask_yes_no.py", "type": "Module"}]}, {"nodeid": ".", "outcome": "passed", "result": [{"nodeid": "ci-reports", "type": "Dir"}, {"nodeid": "slic", "type": "Package"}, {"nodeid": "temp-ci", "type": "Dir"}, {"nodeid": "tests", "type": "Dir"}]}], "tests": [{"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[None-y-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-y-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-y-True-Question? [y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0006301437970250845, "outcome": "passed"}, "call": {"duration": 0.0006640439387410879, "outcome": "passed"}, "teardown": {"duration": 0.00041092606261372566, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[None-yes-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-yes-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-yes-True-Question? [y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0003656770568341017, "outcome": "passed"}, "call": {"duration": 0.0005132700316607952, "outcome": "passed"}, "teardown": {"duration": 0.00019243895076215267, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ]", "lineno": 10, "outcome": "failed", "keywords": ["test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-n-True-Question? [y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.00031361100263893604, "outcome": "passed"}, "call": {"duration": 0.0008016838692128658, "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\nexpected_prompt = 'Question? [y/n] '\n\n @pytest.mark.parametrize(\n \"default, user_input, expected_output, expected_prompt\",\n [\n (None, 'y', True, \"Question? [y/n] \"),\n (None, 'yes', True, \"Question? [y/n] \"),\n (None, 'n', True, \"Question? [y/n] \"), #False\n (None, 'no', False, \"Question? [y/n] \"), #False\n (None, ['maybe', 'y'], True, \"Question? [y/n] \"),\n (None, ['', 'no'], False, \"Question? [y/n] \"),\n (None, ['invalid', 'yes'], True, \"Question? [y/n] \"),\n ('y', 'y', True, \"Question? [Y/n] \"),\n ('y', 'n', False, \"Question? [Y/n] \"), #False\n ('y', '', True, \"Question? [Y/n] \"),\n ('n', 'y', True, \"Question? [y/N] \"),\n ('n', 'n', False, \"Question? [y/N] \"), #False\n ('n', '', False, \"Question? [y/N] \"),\n ]\n )\n def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):\n patch_target = 'slic.utils.ask_yes_no.read_input'\n \n if isinstance(user_input, list):\n input_patch = patch(patch_target, side_effect=user_input)\n else:\n input_patch = patch(patch_target, return_value=user_input)\n \n with input_patch as mock_input:\n result = ask_yes_no(\"Question\", default=default)\n> assert result == expected_output\nE assert False == True\n\ntests/test_bis.py:39: AssertionError"}, "teardown": {"duration": 0.00027920491993427277, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[None-no-False-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-no-False-Question? [y/n] ]", "parametrize", "pytestmark", "None-no-False-Question? [y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.00035449815914034843, "outcome": "passed"}, "call": {"duration": 0.0005966548342257738, "outcome": "passed"}, "teardown": {"duration": 0.0002007950097322464, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_input4-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-user_input4-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-user_input4-True-Question? [y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0003249938599765301, "outcome": "passed"}, "call": {"duration": 0.0005573809612542391, "outcome": "passed"}, "teardown": {"duration": 0.00019603082910180092, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_input5-False-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-user_input5-False-Question? [y/n] ]", "parametrize", "pytestmark", "None-user_input5-False-Question? [y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0003310691099613905, "outcome": "passed"}, "call": {"duration": 0.0005317009054124355, "outcome": "passed"}, "teardown": {"duration": 0.00019105011597275734, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_input6-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-user_input6-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-user_input6-True-Question? [y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.00033452617935836315, "outcome": "passed"}, "call": {"duration": 0.0006286271382123232, "outcome": "passed"}, "teardown": {"duration": 0.00018359790556132793, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[y-y-True-Question? [Y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[y-y-True-Question? [Y/n] ]", "parametrize", "pytestmark", "y-y-True-Question? [Y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0003082479815930128, "outcome": "passed"}, "call": {"duration": 0.0004937800113111734, "outcome": "passed"}, "teardown": {"duration": 0.00018647406250238419, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[y-n-False-Question? [Y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[y-n-False-Question? [Y/n] ]", "parametrize", "pytestmark", "y-n-False-Question? [Y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0003094109706580639, "outcome": "passed"}, "call": {"duration": 0.0005076550878584385, "outcome": "passed"}, "teardown": {"duration": 0.00017952686175704002, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[y--True-Question? [Y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[y--True-Question? [Y/n] ]", "parametrize", "pytestmark", "y--True-Question? [Y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0003170599229633808, "outcome": "passed"}, "call": {"duration": 0.0004958589561283588, "outcome": "passed"}, "teardown": {"duration": 0.0001803531777113676, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[n-y-True-Question? [y/N] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[n-y-True-Question? [y/N] ]", "parametrize", "pytestmark", "n-y-True-Question? [y/N] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.00031550414860248566, "outcome": "passed"}, "call": {"duration": 0.0006077948492020369, "outcome": "passed"}, "teardown": {"duration": 0.00018411199562251568, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[n-n-False-Question? [y/N] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[n-n-False-Question? [y/N] ]", "parametrize", "pytestmark", "n-n-False-Question? [y/N] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0003203009255230427, "outcome": "passed"}, "call": {"duration": 0.0005213960539549589, "outcome": "passed"}, "teardown": {"duration": 0.00018658814951777458, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[n--False-Question? [y/N] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[n--False-Question? [y/N] ]", "parametrize", "pytestmark", "n--False-Question? [y/N] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0003242718521505594, "outcome": "passed"}, "call": {"duration": 0.0004881080240011215, "outcome": "passed"}, "teardown": {"duration": 0.00018681702204048634, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_ctrl_c", "lineno": 44, "outcome": "passed", "keywords": ["test_ask_yes_no_ctrl_c", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.00011291285045444965, "outcome": "passed"}, "call": {"duration": 0.000499204033985734, "outcome": "passed"}, "teardown": {"duration": 0.00010821199975907803, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_ctrl_d[n-False]", "lineno": 49, "outcome": "passed", "keywords": ["test_ask_yes_no_ctrl_d[n-False]", "parametrize", "pytestmark", "n-False", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.00024448311887681484, "outcome": "passed"}, "call": {"duration": 0.001262086909264326, "outcome": "passed"}, "teardown": {"duration": 0.00016740290448069572, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_ctrl_d[y-True]", "lineno": 49, "outcome": "passed", "keywords": ["test_ask_yes_no_ctrl_d[y-True]", "parametrize", "pytestmark", "y-True", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.00025003915652632713, "outcome": "passed"}, "call": {"duration": 0.000521114794537425, "outcome": "passed"}, "teardown": {"duration": 0.00016684713773429394, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-y-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-y-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-y-True-Question? [y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00034748390316963196, "outcome": "passed"}, "call": {"duration": 0.000510023906826973, "outcome": "passed"}, "teardown": {"duration": 0.0001905329991132021, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-yes-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-yes-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-yes-True-Question? [y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.0003248988650739193, "outcome": "passed"}, "call": {"duration": 0.0005876829382032156, "outcome": "passed"}, "teardown": {"duration": 0.00018879002891480923, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ]", "lineno": 10, "outcome": "failed", "keywords": ["test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-n-True-Question? [y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.0003222918603569269, "outcome": "passed"}, "call": {"duration": 0.000671671936288476, "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\nexpected_prompt = 'Question? [y/n] '\n\n @pytest.mark.parametrize(\n \"default, user_input, expected_output, expected_prompt\",\n [\n (None, 'y', True, \"Question? [y/n] \"),\n (None, 'yes', True, \"Question? [y/n] \"),\n (None, 'n', True, \"Question? [y/n] \"), #False\n (None, 'no', False, \"Question? [y/n] \"), #False\n (None, ['maybe', 'y'], True, \"Question? [y/n] \"),\n (None, ['', 'no'], False, \"Question? [y/n] \"),\n (None, ['invalid', 'yes'], True, \"Question? [y/n] \"),\n ('y', 'y', True, \"Question? [Y/n] \"),\n ('y', 'n', True, \"Question? [Y/n] \"), #False\n ('y', '', True, \"Question? [Y/n] \"),\n ('n', 'y', True, \"Question? [y/N] \"),\n ('n', 'n', True, \"Question? [y/N] \"), #False\n ('n', '', False, \"Question? [y/N] \"),\n ]\n )\n def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):\n patch_target = 'slic.utils.ask_yes_no.read_input'\n \n if isinstance(user_input, list):\n input_patch = patch(patch_target, side_effect=user_input)\n else:\n input_patch = patch(patch_target, return_value=user_input)\n \n with input_patch as mock_input:\n result = ask_yes_no(\"Question\", default=default)\n> assert result == expected_output\nE assert False == True\n\ntests/test_utils_ask_yes_no.py:39: AssertionError"}, "teardown": {"duration": 0.00023453799076378345, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-no-False-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-no-False-Question? [y/n] ]", "parametrize", "pytestmark", "None-no-False-Question? [y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.0003340227995067835, "outcome": "passed"}, "call": {"duration": 0.0005178081337362528, "outcome": "passed"}, "teardown": {"duration": 0.00018756883218884468, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-user_input4-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-user_input4-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-user_input4-True-Question? [y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.0003353999927639961, "outcome": "passed"}, "call": {"duration": 0.0005446749273687601, "outcome": "passed"}, "teardown": {"duration": 0.0001889960840344429, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-user_input5-False-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-user_input5-False-Question? [y/n] ]", "parametrize", "pytestmark", "None-user_input5-False-Question? [y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00032709608785808086, "outcome": "passed"}, "call": {"duration": 0.0005076839588582516, "outcome": "passed"}, "teardown": {"duration": 0.00018009915947914124, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-user_input6-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-user_input6-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-user_input6-True-Question? [y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.0003091560211032629, "outcome": "passed"}, "call": {"duration": 0.0006551539991050959, "outcome": "passed"}, "teardown": {"duration": 0.00020103389397263527, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[y-y-True-Question? [Y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[y-y-True-Question? [Y/n] ]", "parametrize", "pytestmark", "y-y-True-Question? [Y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00032242201268672943, "outcome": "passed"}, "call": {"duration": 0.0004950740840286016, "outcome": "passed"}, "teardown": {"duration": 0.00017378386110067368, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[y-n-True-Question? [Y/n] ]", "lineno": 10, "outcome": "failed", "keywords": ["test_ask_yes_no_with_defaults[y-n-True-Question? [Y/n] ]", "parametrize", "pytestmark", "y-n-True-Question? [Y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00033028307370841503, "outcome": "passed"}, "call": {"duration": 0.0007043329533189535, "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\nexpected_prompt = 'Question? [Y/n] '\n\n @pytest.mark.parametrize(\n \"default, user_input, expected_output, expected_prompt\",\n [\n (None, 'y', True, \"Question? [y/n] \"),\n (None, 'yes', True, \"Question? [y/n] \"),\n (None, 'n', True, \"Question? [y/n] \"), #False\n (None, 'no', False, \"Question? [y/n] \"), #False\n (None, ['maybe', 'y'], True, \"Question? [y/n] \"),\n (None, ['', 'no'], False, \"Question? [y/n] \"),\n (None, ['invalid', 'yes'], True, \"Question? [y/n] \"),\n ('y', 'y', True, \"Question? [Y/n] \"),\n ('y', 'n', True, \"Question? [Y/n] \"), #False\n ('y', '', True, \"Question? [Y/n] \"),\n ('n', 'y', True, \"Question? [y/N] \"),\n ('n', 'n', True, \"Question? [y/N] \"), #False\n ('n', '', False, \"Question? [y/N] \"),\n ]\n )\n def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):\n patch_target = 'slic.utils.ask_yes_no.read_input'\n \n if isinstance(user_input, list):\n input_patch = patch(patch_target, side_effect=user_input)\n else:\n input_patch = patch(patch_target, return_value=user_input)\n \n with input_patch as mock_input:\n result = ask_yes_no(\"Question\", default=default)\n> assert result == expected_output\nE assert False == True\n\ntests/test_utils_ask_yes_no.py:39: AssertionError"}, "teardown": {"duration": 0.0002107108011841774, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[y--True-Question? [Y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[y--True-Question? [Y/n] ]", "parametrize", "pytestmark", "y--True-Question? [Y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00032926606945693493, "outcome": "passed"}, "call": {"duration": 0.0005370981525629759, "outcome": "passed"}, "teardown": {"duration": 0.00018470385111868382, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[n-y-True-Question? [y/N] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[n-y-True-Question? [y/N] ]", "parametrize", "pytestmark", "n-y-True-Question? [y/N] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.0003360658884048462, "outcome": "passed"}, "call": {"duration": 0.0004947548732161522, "outcome": "passed"}, "teardown": {"duration": 0.00018481304869055748, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[n-n-True-Question? [y/N] ]", "lineno": 10, "outcome": "failed", "keywords": ["test_ask_yes_no_with_defaults[n-n-True-Question? [y/N] ]", "parametrize", "pytestmark", "n-n-True-Question? [y/N] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00032263901084661484, "outcome": "passed"}, "call": {"duration": 0.0006407857872545719, "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\nexpected_prompt = 'Question? [y/N] '\n\n @pytest.mark.parametrize(\n \"default, user_input, expected_output, expected_prompt\",\n [\n (None, 'y', True, \"Question? [y/n] \"),\n (None, 'yes', True, \"Question? [y/n] \"),\n (None, 'n', True, \"Question? [y/n] \"), #False\n (None, 'no', False, \"Question? [y/n] \"), #False\n (None, ['maybe', 'y'], True, \"Question? [y/n] \"),\n (None, ['', 'no'], False, \"Question? [y/n] \"),\n (None, ['invalid', 'yes'], True, \"Question? [y/n] \"),\n ('y', 'y', True, \"Question? [Y/n] \"),\n ('y', 'n', True, \"Question? [Y/n] \"), #False\n ('y', '', True, \"Question? [Y/n] \"),\n ('n', 'y', True, \"Question? [y/N] \"),\n ('n', 'n', True, \"Question? [y/N] \"), #False\n ('n', '', False, \"Question? [y/N] \"),\n ]\n )\n def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):\n patch_target = 'slic.utils.ask_yes_no.read_input'\n \n if isinstance(user_input, list):\n input_patch = patch(patch_target, side_effect=user_input)\n else:\n input_patch = patch(patch_target, return_value=user_input)\n \n with input_patch as mock_input:\n result = ask_yes_no(\"Question\", default=default)\n> assert result == expected_output\nE assert False == True\n\ntests/test_utils_ask_yes_no.py:39: AssertionError"}, "teardown": {"duration": 0.00022517400793731213, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[n--False-Question? [y/N] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[n--False-Question? [y/N] ]", "parametrize", "pytestmark", "n--False-Question? [y/N] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00032685394398868084, "outcome": "passed"}, "call": {"duration": 0.0005276871379464865, "outcome": "passed"}, "teardown": {"duration": 0.0001871821004897356, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c", "lineno": 44, "outcome": "passed", "keywords": ["test_ask_yes_no_ctrl_c", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00011463905684649944, "outcome": "passed"}, "call": {"duration": 0.0004924479871988297, "outcome": "passed"}, "teardown": {"duration": 0.00011322600767016411, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-False]", "lineno": 49, "outcome": "passed", "keywords": ["test_ask_yes_no_ctrl_d[n-False]", "parametrize", "pytestmark", "n-False", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00023624394088983536, "outcome": "passed"}, "call": {"duration": 0.0005195499397814274, "outcome": "passed"}, "teardown": {"duration": 0.00014851195737719536, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[y-True]", "lineno": 49, "outcome": "passed", "keywords": ["test_ask_yes_no_ctrl_d[y-True]", "parametrize", "pytestmark", "y-True", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00022947601974010468, "outcome": "passed"}, "call": {"duration": 0.0005944170989096165, "outcome": "passed"}, "teardown": {"duration": 0.00015328405424952507, "outcome": "passed"}}], "warnings": [{"message": "invalid escape sequence \\-", "category": "DeprecationWarning", "when": "collect", "filename": "/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py", "lineno": 207}, {"message": "pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html", "category": "DeprecationWarning", "when": "collect", "filename": "/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/ca.py", "lineno": 28}, {"message": "Deprecated call to `pkg_resources.declare_namespace('mpl_toolkits')`.\nImplementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages", "category": "DeprecationWarning", "when": "collect", "filename": "/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pkg_resources/__init__.py", "lineno": 3154}, {"message": "The module numpy.dual is deprecated. Instead of using dual, use the functions directly from numpy or scipy.", "category": "DeprecationWarning", "when": "collect", "filename": "/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py", "lineno": 97}]}
\ No newline at end of file
+{"created": 1753189049.558888, "duration": 7.290952205657959, "exitcode": 1, "root": "/workspace/tligui_y/slic", "environment": {}, "summary": {"passed": 28, "failed": 4, "total": 32, "collected": 32}, "collectors": [{"nodeid": "", "outcome": "passed", "result": [{"nodeid": ".", "type": "Dir"}]}, {"nodeid": "ci-reports/allure/data/test-cases", "outcome": "passed", "result": []}, {"nodeid": "ci-reports/allure/data", "outcome": "passed", "result": [{"nodeid": "ci-reports/allure/data/test-cases", "type": "Dir"}]}, {"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/junit", "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/junit", "type": "Dir"}, {"nodeid": "ci-reports/markdown", "type": "Dir"}]}, {"nodeid": "slic/core/acquisition/broker", "outcome": "passed", "result": []}, {"nodeid": "slic/core/acquisition", "outcome": "passed", "result": [{"nodeid": "slic/core/acquisition/broker", "type": "Package"}]}, {"nodeid": "slic/core/adjustable", "outcome": "passed", "result": []}, {"nodeid": "slic/core/condition", "outcome": "passed", "result": []}, {"nodeid": "slic/core/device", "outcome": "passed", "result": []}, {"nodeid": "slic/core/scanner", "outcome": "passed", "result": []}, {"nodeid": "slic/core/sensor", "outcome": "passed", "result": []}, {"nodeid": "slic/core/task", "outcome": "passed", "result": []}, {"nodeid": "slic/core", "outcome": "passed", "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"}]}, {"nodeid": "slic/devices/cameras", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/endstations", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/general/detectors", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/general/unused", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/general", "outcome": "passed", "result": [{"nodeid": "slic/devices/general/detectors", "type": "Package"}, {"nodeid": "slic/devices/general/unused", "type": "Dir"}]}, {"nodeid": "slic/devices/loptics", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/timing/events", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/timing", "outcome": "passed", "result": [{"nodeid": "slic/devices/timing/events", "type": "Package"}]}, {"nodeid": "slic/devices/xdiagnostics", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/xoptics/slits", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/xoptics/unused", "outcome": "passed", "result": []}, {"nodeid": "slic/devices/xoptics", "outcome": "passed", "result": [{"nodeid": "slic/devices/xoptics/slits", "type": "Package"}, {"nodeid": "slic/devices/xoptics/unused", "type": "Dir"}]}, {"nodeid": "slic/devices", "outcome": "passed", "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"}]}, {"nodeid": "slic/gui/daqpanels", "outcome": "passed", "result": []}, {"nodeid": "slic/gui/widgets", "outcome": "passed", "result": []}, {"nodeid": "slic/gui", "outcome": "passed", "result": [{"nodeid": "slic/gui/daqpanels", "type": "Package"}, {"nodeid": "slic/gui/widgets", "type": "Package"}]}, {"nodeid": "slic/utils/ioc", "outcome": "passed", "result": []}, {"nodeid": "slic/utils/unused/xsim", "outcome": "passed", "result": []}, {"nodeid": "slic/utils/unused", "outcome": "passed", "result": [{"nodeid": "slic/utils/unused/xsim", "type": "Package"}]}, {"nodeid": "slic/utils", "outcome": "passed", "result": [{"nodeid": "slic/utils/ioc", "type": "Package"}, {"nodeid": "slic/utils/unused", "type": "Dir"}]}, {"nodeid": "slic", "outcome": "passed", "result": [{"nodeid": "slic/core", "type": "Package"}, {"nodeid": "slic/devices", "type": "Package"}, {"nodeid": "slic/gui", "type": "Package"}, {"nodeid": "slic/utils", "type": "Package"}]}, {"nodeid": "temp-ci", "outcome": "passed", "result": []}, {"nodeid": "tests/test_bis.py", "outcome": "passed", "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}]}, {"nodeid": "tests/test_utils_ask_yes_no.py", "outcome": "passed", "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}]}, {"nodeid": "tests", "outcome": "passed", "result": [{"nodeid": "tests/test_bis.py", "type": "Module"}, {"nodeid": "tests/test_utils_ask_yes_no.py", "type": "Module"}]}, {"nodeid": ".", "outcome": "passed", "result": [{"nodeid": "ci-reports", "type": "Dir"}, {"nodeid": "slic", "type": "Package"}, {"nodeid": "temp-ci", "type": "Dir"}, {"nodeid": "tests", "type": "Dir"}]}], "tests": [{"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[None-y-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-y-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-y-True-Question? [y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0007172678597271442, "outcome": "passed"}, "call": {"duration": 0.0007613049820065498, "outcome": "passed"}, "teardown": {"duration": 0.00046321703121066093, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[None-yes-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-yes-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-yes-True-Question? [y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0003488061483949423, "outcome": "passed"}, "call": {"duration": 0.0005375458858907223, "outcome": "passed"}, "teardown": {"duration": 0.00020177592523396015, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ]", "lineno": 10, "outcome": "failed", "keywords": ["test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-n-True-Question? [y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.00031875213608145714, "outcome": "passed"}, "call": {"duration": 0.0008582621812820435, "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\nexpected_prompt = 'Question? [y/n] '\n\n @pytest.mark.parametrize(\n \"default, user_input, expected_output, expected_prompt\",\n [\n (None, 'y', True, \"Question? [y/n] \"),\n (None, 'yes', True, \"Question? [y/n] \"),\n (None, 'n', True, \"Question? [y/n] \"), #False\n (None, 'no', False, \"Question? [y/n] \"), #False\n (None, ['maybe', 'y'], True, \"Question? [y/n] \"),\n (None, ['', 'no'], False, \"Question? [y/n] \"),\n (None, ['invalid', 'yes'], True, \"Question? [y/n] \"),\n ('y', 'y', True, \"Question? [Y/n] \"),\n ('y', 'n', False, \"Question? [Y/n] \"), #False\n ('y', '', True, \"Question? [Y/n] \"),\n ('n', 'y', True, \"Question? [y/N] \"),\n ('n', 'n', False, \"Question? [y/N] \"), #False\n ('n', '', False, \"Question? [y/N] \"),\n ]\n )\n def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):\n patch_target = 'slic.utils.ask_yes_no.read_input'\n \n if isinstance(user_input, list):\n input_patch = patch(patch_target, side_effect=user_input)\n else:\n input_patch = patch(patch_target, return_value=user_input)\n \n with input_patch as mock_input:\n result = ask_yes_no(\"Question\", default=default)\n> assert result == expected_output\nE assert False == True\n\ntests/test_bis.py:39: AssertionError"}, "teardown": {"duration": 0.0003573459107428789, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[None-no-False-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-no-False-Question? [y/n] ]", "parametrize", "pytestmark", "None-no-False-Question? [y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0004081409424543381, "outcome": "passed"}, "call": {"duration": 0.0006725650746375322, "outcome": "passed"}, "teardown": {"duration": 0.00020293984562158585, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_input4-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-user_input4-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-user_input4-True-Question? [y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.00033845892176032066, "outcome": "passed"}, "call": {"duration": 0.0005437780637294054, "outcome": "passed"}, "teardown": {"duration": 0.0001787759829312563, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_input5-False-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-user_input5-False-Question? [y/n] ]", "parametrize", "pytestmark", "None-user_input5-False-Question? [y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.00032060407102108, "outcome": "passed"}, "call": {"duration": 0.000526736956089735, "outcome": "passed"}, "teardown": {"duration": 0.00018453202210366726, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[None-user_input6-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-user_input6-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-user_input6-True-Question? [y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.000332819065079093, "outcome": "passed"}, "call": {"duration": 0.0006050909869372845, "outcome": "passed"}, "teardown": {"duration": 0.00019279401749372482, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[y-y-True-Question? [Y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[y-y-True-Question? [Y/n] ]", "parametrize", "pytestmark", "y-y-True-Question? [Y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0003260010853409767, "outcome": "passed"}, "call": {"duration": 0.0005020699463784695, "outcome": "passed"}, "teardown": {"duration": 0.00019663083367049694, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[y-n-False-Question? [Y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[y-n-False-Question? [Y/n] ]", "parametrize", "pytestmark", "y-n-False-Question? [Y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.00031798495911061764, "outcome": "passed"}, "call": {"duration": 0.000504183117300272, "outcome": "passed"}, "teardown": {"duration": 0.0001849168911576271, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[y--True-Question? [Y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[y--True-Question? [Y/n] ]", "parametrize", "pytestmark", "y--True-Question? [Y/n] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.00032025109976530075, "outcome": "passed"}, "call": {"duration": 0.0004960880614817142, "outcome": "passed"}, "teardown": {"duration": 0.00018551410175859928, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[n-y-True-Question? [y/N] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[n-y-True-Question? [y/N] ]", "parametrize", "pytestmark", "n-y-True-Question? [y/N] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0003172149881720543, "outcome": "passed"}, "call": {"duration": 0.0005855201743543148, "outcome": "passed"}, "teardown": {"duration": 0.000191499013453722, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[n-n-False-Question? [y/N] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[n-n-False-Question? [y/N] ]", "parametrize", "pytestmark", "n-n-False-Question? [y/N] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.000323454849421978, "outcome": "passed"}, "call": {"duration": 0.0005006450228393078, "outcome": "passed"}, "teardown": {"duration": 0.0001777529250830412, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_with_defaults[n--False-Question? [y/N] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[n--False-Question? [y/N] ]", "parametrize", "pytestmark", "n--False-Question? [y/N] ", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0003164149820804596, "outcome": "passed"}, "call": {"duration": 0.00048556108959019184, "outcome": "passed"}, "teardown": {"duration": 0.0001999379601329565, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_ctrl_c", "lineno": 44, "outcome": "passed", "keywords": ["test_ask_yes_no_ctrl_c", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.0001239569392055273, "outcome": "passed"}, "call": {"duration": 0.0005307979881763458, "outcome": "passed"}, "teardown": {"duration": 0.0001104611437767744, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_ctrl_d[n-False]", "lineno": 49, "outcome": "passed", "keywords": ["test_ask_yes_no_ctrl_d[n-False]", "parametrize", "pytestmark", "n-False", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.000231883954256773, "outcome": "passed"}, "call": {"duration": 0.0005971789360046387, "outcome": "passed"}, "teardown": {"duration": 0.00015460490249097347, "outcome": "passed"}}, {"nodeid": "tests/test_bis.py::test_ask_yes_no_ctrl_d[y-True]", "lineno": 49, "outcome": "passed", "keywords": ["test_ask_yes_no_ctrl_d[y-True]", "parametrize", "pytestmark", "y-True", "test_bis.py", "tests", "slic", ""], "setup": {"duration": 0.00023105088621377945, "outcome": "passed"}, "call": {"duration": 0.0004912449512630701, "outcome": "passed"}, "teardown": {"duration": 0.00015387614257633686, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-y-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-y-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-y-True-Question? [y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00033498904667794704, "outcome": "passed"}, "call": {"duration": 0.0005011840257793665, "outcome": "passed"}, "teardown": {"duration": 0.00018330011516809464, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-yes-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-yes-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-yes-True-Question? [y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.0003292178735136986, "outcome": "passed"}, "call": {"duration": 0.0005959300324320793, "outcome": "passed"}, "teardown": {"duration": 0.0001883909571915865, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ]", "lineno": 10, "outcome": "failed", "keywords": ["test_ask_yes_no_with_defaults[None-n-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-n-True-Question? [y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00033744098618626595, "outcome": "passed"}, "call": {"duration": 0.0006595170125365257, "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\nexpected_prompt = 'Question? [y/n] '\n\n @pytest.mark.parametrize(\n \"default, user_input, expected_output, expected_prompt\",\n [\n (None, 'y', True, \"Question? [y/n] \"),\n (None, 'yes', True, \"Question? [y/n] \"),\n (None, 'n', True, \"Question? [y/n] \"), #False\n (None, 'no', False, \"Question? [y/n] \"), #False\n (None, ['maybe', 'y'], True, \"Question? [y/n] \"),\n (None, ['', 'no'], False, \"Question? [y/n] \"),\n (None, ['invalid', 'yes'], True, \"Question? [y/n] \"),\n ('y', 'y', True, \"Question? [Y/n] \"),\n ('y', 'n', True, \"Question? [Y/n] \"), #False\n ('y', '', True, \"Question? [Y/n] \"),\n ('n', 'y', True, \"Question? [y/N] \"),\n ('n', 'n', True, \"Question? [y/N] \"), #False\n ('n', '', False, \"Question? [y/N] \"),\n ]\n )\n def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):\n patch_target = 'slic.utils.ask_yes_no.read_input'\n \n if isinstance(user_input, list):\n input_patch = patch(patch_target, side_effect=user_input)\n else:\n input_patch = patch(patch_target, return_value=user_input)\n \n with input_patch as mock_input:\n result = ask_yes_no(\"Question\", default=default)\n> assert result == expected_output\nE assert False == True\n\ntests/test_utils_ask_yes_no.py:39: AssertionError"}, "teardown": {"duration": 0.00021252990700304508, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-no-False-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-no-False-Question? [y/n] ]", "parametrize", "pytestmark", "None-no-False-Question? [y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00033209403045475483, "outcome": "passed"}, "call": {"duration": 0.0005270622204989195, "outcome": "passed"}, "teardown": {"duration": 0.0001831690315157175, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-user_input4-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-user_input4-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-user_input4-True-Question? [y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00036361790262162685, "outcome": "passed"}, "call": {"duration": 0.0005405200645327568, "outcome": "passed"}, "teardown": {"duration": 0.00019301380962133408, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-user_input5-False-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-user_input5-False-Question? [y/n] ]", "parametrize", "pytestmark", "None-user_input5-False-Question? [y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.0003180410712957382, "outcome": "passed"}, "call": {"duration": 0.0005161501467227936, "outcome": "passed"}, "teardown": {"duration": 0.000177829060703516, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[None-user_input6-True-Question? [y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[None-user_input6-True-Question? [y/n] ]", "parametrize", "pytestmark", "None-user_input6-True-Question? [y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00031517515890300274, "outcome": "passed"}, "call": {"duration": 0.0006273128092288971, "outcome": "passed"}, "teardown": {"duration": 0.00018784613348543644, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[y-y-True-Question? [Y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[y-y-True-Question? [Y/n] ]", "parametrize", "pytestmark", "y-y-True-Question? [Y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00032654800452291965, "outcome": "passed"}, "call": {"duration": 0.00048433709889650345, "outcome": "passed"}, "teardown": {"duration": 0.00018191803246736526, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[y-n-True-Question? [Y/n] ]", "lineno": 10, "outcome": "failed", "keywords": ["test_ask_yes_no_with_defaults[y-n-True-Question? [Y/n] ]", "parametrize", "pytestmark", "y-n-True-Question? [Y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00031353184022009373, "outcome": "passed"}, "call": {"duration": 0.0006562960334122181, "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\nexpected_prompt = 'Question? [Y/n] '\n\n @pytest.mark.parametrize(\n \"default, user_input, expected_output, expected_prompt\",\n [\n (None, 'y', True, \"Question? [y/n] \"),\n (None, 'yes', True, \"Question? [y/n] \"),\n (None, 'n', True, \"Question? [y/n] \"), #False\n (None, 'no', False, \"Question? [y/n] \"), #False\n (None, ['maybe', 'y'], True, \"Question? [y/n] \"),\n (None, ['', 'no'], False, \"Question? [y/n] \"),\n (None, ['invalid', 'yes'], True, \"Question? [y/n] \"),\n ('y', 'y', True, \"Question? [Y/n] \"),\n ('y', 'n', True, \"Question? [Y/n] \"), #False\n ('y', '', True, \"Question? [Y/n] \"),\n ('n', 'y', True, \"Question? [y/N] \"),\n ('n', 'n', True, \"Question? [y/N] \"), #False\n ('n', '', False, \"Question? [y/N] \"),\n ]\n )\n def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):\n patch_target = 'slic.utils.ask_yes_no.read_input'\n \n if isinstance(user_input, list):\n input_patch = patch(patch_target, side_effect=user_input)\n else:\n input_patch = patch(patch_target, return_value=user_input)\n \n with input_patch as mock_input:\n result = ask_yes_no(\"Question\", default=default)\n> assert result == expected_output\nE assert False == True\n\ntests/test_utils_ask_yes_no.py:39: AssertionError"}, "teardown": {"duration": 0.00021115015260875225, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[y--True-Question? [Y/n] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[y--True-Question? [Y/n] ]", "parametrize", "pytestmark", "y--True-Question? [Y/n] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.0003288029693067074, "outcome": "passed"}, "call": {"duration": 0.0005209462251514196, "outcome": "passed"}, "teardown": {"duration": 0.0001933341845870018, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[n-y-True-Question? [y/N] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[n-y-True-Question? [y/N] ]", "parametrize", "pytestmark", "n-y-True-Question? [y/N] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.0003316621296107769, "outcome": "passed"}, "call": {"duration": 0.0004844169598072767, "outcome": "passed"}, "teardown": {"duration": 0.00018170499242842197, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[n-n-True-Question? [y/N] ]", "lineno": 10, "outcome": "failed", "keywords": ["test_ask_yes_no_with_defaults[n-n-True-Question? [y/N] ]", "parametrize", "pytestmark", "n-n-True-Question? [y/N] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00033396086655557156, "outcome": "passed"}, "call": {"duration": 0.0006767760496586561, "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\nexpected_prompt = 'Question? [y/N] '\n\n @pytest.mark.parametrize(\n \"default, user_input, expected_output, expected_prompt\",\n [\n (None, 'y', True, \"Question? [y/n] \"),\n (None, 'yes', True, \"Question? [y/n] \"),\n (None, 'n', True, \"Question? [y/n] \"), #False\n (None, 'no', False, \"Question? [y/n] \"), #False\n (None, ['maybe', 'y'], True, \"Question? [y/n] \"),\n (None, ['', 'no'], False, \"Question? [y/n] \"),\n (None, ['invalid', 'yes'], True, \"Question? [y/n] \"),\n ('y', 'y', True, \"Question? [Y/n] \"),\n ('y', 'n', True, \"Question? [Y/n] \"), #False\n ('y', '', True, \"Question? [Y/n] \"),\n ('n', 'y', True, \"Question? [y/N] \"),\n ('n', 'n', True, \"Question? [y/N] \"), #False\n ('n', '', False, \"Question? [y/N] \"),\n ]\n )\n def test_ask_yes_no_with_defaults(default, user_input, expected_output, expected_prompt):\n patch_target = 'slic.utils.ask_yes_no.read_input'\n \n if isinstance(user_input, list):\n input_patch = patch(patch_target, side_effect=user_input)\n else:\n input_patch = patch(patch_target, return_value=user_input)\n \n with input_patch as mock_input:\n result = ask_yes_no(\"Question\", default=default)\n> assert result == expected_output\nE assert False == True\n\ntests/test_utils_ask_yes_no.py:39: AssertionError"}, "teardown": {"duration": 0.0002132919616997242, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_with_defaults[n--False-Question? [y/N] ]", "lineno": 10, "outcome": "passed", "keywords": ["test_ask_yes_no_with_defaults[n--False-Question? [y/N] ]", "parametrize", "pytestmark", "n--False-Question? [y/N] ", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00034043099731206894, "outcome": "passed"}, "call": {"duration": 0.0005094569642096758, "outcome": "passed"}, "teardown": {"duration": 0.0001854700967669487, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c", "lineno": 44, "outcome": "passed", "keywords": ["test_ask_yes_no_ctrl_c", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.0001161620020866394, "outcome": "passed"}, "call": {"duration": 0.0004972580354660749, "outcome": "passed"}, "teardown": {"duration": 0.00011775991879403591, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-False]", "lineno": 49, "outcome": "passed", "keywords": ["test_ask_yes_no_ctrl_d[n-False]", "parametrize", "pytestmark", "n-False", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.0002349440474063158, "outcome": "passed"}, "call": {"duration": 0.0005135659594088793, "outcome": "passed"}, "teardown": {"duration": 0.0001578440424054861, "outcome": "passed"}}, {"nodeid": "tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[y-True]", "lineno": 49, "outcome": "passed", "keywords": ["test_ask_yes_no_ctrl_d[y-True]", "parametrize", "pytestmark", "y-True", "test_utils_ask_yes_no.py", "tests", "slic", ""], "setup": {"duration": 0.00023195799440145493, "outcome": "passed"}, "call": {"duration": 0.0006068767979741096, "outcome": "passed"}, "teardown": {"duration": 0.0001626908779144287, "outcome": "passed"}}], "warnings": [{"message": "invalid escape sequence \\-", "category": "DeprecationWarning", "when": "collect", "filename": "/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py", "lineno": 207}, {"message": "pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html", "category": "DeprecationWarning", "when": "collect", "filename": "/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/ca.py", "lineno": 28}, {"message": "Deprecated call to `pkg_resources.declare_namespace('mpl_toolkits')`.\nImplementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages", "category": "DeprecationWarning", "when": "collect", "filename": "/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pkg_resources/__init__.py", "lineno": 3154}, {"message": "The module numpy.dual is deprecated. Instead of using dual, use the functions directly from numpy or scipy.", "category": "DeprecationWarning", "when": "collect", "filename": "/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py", "lineno": 97}]}
\ No newline at end of file