diff --git a/ci-reports/markdown/TEST-REPORT.md b/ci-reports/markdown/TEST-REPORT.md
index 993fd353..94d2a970 100644
--- a/ci-reports/markdown/TEST-REPORT.md
+++ b/ci-reports/markdown/TEST-REPORT.md
@@ -1,8 +1,8 @@
# ๐งช Test Report
-*Generated on 2025-07-16 14:40:45*
+*Generated on 2025-07-16 14:43:15*
## ๐งพ General Info
-- **duration**: 7.737807512283325
+- **duration**: 7.91787576675415
- **root**: /workspace/tligui_y/slic
- **environment**:
@@ -38,7 +38,7 @@
๐ Duration
```
-0.0007160520181059837
+0.0007093740860000253
```
@@ -61,7 +61,7 @@ passed
๐ Duration
```
-0.0007250549970194697
+0.0007689530029892921
```
@@ -84,7 +84,7 @@ passed
๐ Duration
```
-0.0003067399375140667
+0.00027938501443713903
```
@@ -116,7 +116,7 @@ passed
๐ Duration
```
-0.0003208940615877509
+0.0003221590304747224
```
@@ -139,7 +139,7 @@ passed
๐ Duration
```
-0.0006743069970980287
+0.0006903390167281032
```
@@ -162,7 +162,7 @@ passed
๐ Duration
```
-0.00017449597362428904
+0.00017316790763288736
```
@@ -194,7 +194,7 @@ passed
๐ Duration
```
-0.0003858319250866771
+0.0003974880091845989
```
@@ -217,7 +217,7 @@ passed
๐ Duration
```
-0.0006664349930360913
+0.0006654290482401848
```
@@ -240,7 +240,7 @@ passed
๐ Duration
```
-0.00017206196207553148
+0.0001943610841408372
```
@@ -272,7 +272,7 @@ passed
๐ Duration
```
-0.00031197303906083107
+0.0003201169893145561
```
@@ -295,7 +295,7 @@ passed
๐ Duration
```
-0.0005702440394088626
+0.0005720920162275434
```
@@ -318,7 +318,7 @@ passed
๐ Duration
```
-0.0001686060568317771
+0.0001628110185265541
```
@@ -350,7 +350,7 @@ passed
๐ Duration
```
-0.0003138229949399829
+0.0003002809826284647
```
@@ -373,7 +373,7 @@ passed
๐ Duration
```
-0.0005111739737913013
+0.0005069790640845895
```
@@ -396,7 +396,7 @@ passed
๐ Duration
```
-0.00016946299001574516
+0.00016366597265005112
```
@@ -428,7 +428,7 @@ passed
๐ Duration
```
-0.0002882849657908082
+0.00029702403116971254
```
@@ -451,7 +451,7 @@ passed
๐ Duration
```
-0.000665167928673327
+0.0006169569678604603
```
@@ -474,7 +474,7 @@ passed
๐ Duration
```
-0.00016105500981211662
+0.0001768820220604539
```
@@ -506,7 +506,7 @@ passed
๐ Duration
```
-0.00030142697505652905
+0.0002936749951913953
```
@@ -529,7 +529,7 @@ passed
๐ Duration
```
-0.0004835679428651929
+0.0005383170209825039
```
@@ -552,7 +552,7 @@ passed
๐ Duration
```
-0.00015809503383934498
+0.0001679180422797799
```
@@ -584,7 +584,7 @@ passed
๐ Duration
```
-0.00028797995764762163
+0.0003054320113733411
```
@@ -607,7 +607,7 @@ passed
๐ Duration
```
-0.0004926660330966115
+0.00048293208237737417
```
@@ -630,7 +630,7 @@ passed
๐ Duration
```
-0.0001569458981975913
+0.00016999198123812675
```
@@ -662,7 +662,7 @@ passed
๐ Duration
```
-0.00029081699904054403
+0.00029209593776613474
```
@@ -685,7 +685,7 @@ passed
๐ Duration
```
-0.0004964430117979646
+0.0005033150082454085
```
@@ -708,7 +708,7 @@ passed
๐ Duration
```
-0.00018093897961080074
+0.00017050199676305056
```
@@ -740,7 +740,7 @@ passed
๐ Duration
```
-0.00029698899015784264
+0.00030960701406002045
```
@@ -763,7 +763,7 @@ passed
๐ Duration
```
-0.0005889739841222763
+0.0005743860965594649
```
@@ -786,7 +786,7 @@ passed
๐ Duration
```
-0.0001594889909029007
+0.00017532496713101864
```
@@ -818,7 +818,7 @@ passed
๐ Duration
```
-0.00029549107421189547
+0.0002947590546682477
```
@@ -841,7 +841,7 @@ passed
๐ Duration
```
-0.0004834759747609496
+0.00048710498958826065
```
@@ -864,7 +864,7 @@ passed
๐ Duration
```
-0.00016133696772158146
+0.00017174892127513885
```
@@ -896,7 +896,7 @@ passed
๐ Duration
```
-0.0002997169503942132
+0.00030635902658104897
```
@@ -919,7 +919,7 @@ passed
๐ Duration
```
-0.0005094290245324373
+0.000476257991977036
```
@@ -942,7 +942,7 @@ passed
๐ Duration
```
-0.00016634794883430004
+0.0001653169747442007
```
@@ -981,7 +981,7 @@ passed
๐ Duration
```
-0.00012796500232070684
+0.00011598598212003708
```
@@ -1004,7 +1004,7 @@ passed
๐ Duration
```
-0.00046397000551223755
+0.0004916940815746784
```
@@ -1027,7 +1027,7 @@ passed
๐ Duration
```
-0.0001083100214600563
+0.00010553095489740372
```
@@ -1067,7 +1067,7 @@ passed
๐ Duration
```
-0.00022806297056376934
+0.00022032903507351875
```
@@ -1090,7 +1090,7 @@ passed
๐ Duration
```
-0.0006240620277822018
+0.0005855739582329988
```
@@ -1113,7 +1113,7 @@ passed
๐ Duration
```
-0.0001400659093633294
+0.00013881793711334467
```
@@ -1145,7 +1145,7 @@ passed
๐ Duration
```
-0.00022361299488693476
+0.00020914396736770868
```
@@ -1168,7 +1168,7 @@ passed
๐ Duration
```
-0.0004876710008829832
+0.000480096903629601
```
@@ -1191,7 +1191,7 @@ passed
๐ Duration
```
-0.00015377404633909464
+0.00015355099458247423
```
@@ -1239,7 +1239,7 @@ passed
๐ Duration
```
-0.0003147450042888522
+0.00032230105716735125
```
@@ -1262,7 +1262,7 @@ passed
๐ Duration
```
-0.000528087024576962
+0.0005004120757803321
```
@@ -1285,7 +1285,7 @@ passed
๐ Duration
```
-0.00017071503680199385
+0.00015786895528435707
```
@@ -1317,7 +1317,7 @@ passed
๐ Duration
```
-0.00031266501173377037
+0.000310103059746325
```
@@ -1340,7 +1340,7 @@ passed
๐ Duration
```
-0.0004914950113743544
+0.0004875750746577978
```
@@ -1363,7 +1363,7 @@ passed
๐ Duration
```
-0.00017083203420042992
+0.0001555710332468152
```
@@ -1395,7 +1395,7 @@ passed
๐ Duration
```
-0.0003069150261580944
+0.0003103649942204356
```
@@ -1418,7 +1418,7 @@ passed
๐ Duration
```
-0.0005154400132596493
+0.0005063990829512477
```
@@ -1441,7 +1441,7 @@ passed
๐ Duration
```
-0.0001695400569587946
+0.00016592303290963173
```
@@ -1473,7 +1473,7 @@ passed
๐ Duration
```
-0.00030094501562416553
+0.00029888004064559937
```
@@ -1496,7 +1496,7 @@ passed
๐ Duration
```
-0.0005216989666223526
+0.000520800007507205
```
@@ -1519,7 +1519,7 @@ passed
๐ Duration
```
-0.00016792607493698597
+0.00016347004566341639
```
@@ -1551,7 +1551,7 @@ passed
๐ Duration
```
-0.00030265701934695244
+0.000303962966427207
```
@@ -1574,7 +1574,7 @@ passed
๐ Duration
```
-0.0005048490129411221
+0.0004988339496776462
```
@@ -1597,7 +1597,7 @@ passed
๐ Duration
```
-0.00016513897571712732
+0.00016227399464696646
```
@@ -1629,7 +1629,7 @@ passed
๐ Duration
```
-0.0002989950589835644
+0.0002971780486404896
```
@@ -1652,7 +1652,7 @@ passed
๐ Duration
```
-0.0011737110326066613
+0.0006142599740996957
```
@@ -1675,7 +1675,7 @@ passed
๐ Duration
```
-0.00017919705715030432
+0.00016240589320659637
```
@@ -1707,7 +1707,7 @@ passed
๐ Duration
```
-0.0003026840277016163
+0.0003188250120729208
```
@@ -1730,7 +1730,7 @@ passed
๐ Duration
```
-0.0005017380462959409
+0.00049292400944978
```
@@ -1753,7 +1753,7 @@ passed
๐ Duration
```
-0.00017080409452319145
+0.00017506990116089582
```
@@ -1785,7 +1785,7 @@ passed
๐ Duration
```
-0.00032245100010186434
+0.0003147829556837678
```
@@ -1808,7 +1808,7 @@ passed
๐ Duration
```
-0.0004954109899699688
+0.0005187720526009798
```
@@ -1831,7 +1831,7 @@ passed
๐ Duration
```
-0.00017201399896293879
+0.0001591169275343418
```
@@ -1863,7 +1863,7 @@ passed
๐ Duration
```
-0.00030201999470591545
+0.0003368590259924531
```
@@ -1886,7 +1886,7 @@ passed
๐ Duration
```
-0.0005045810248702765
+0.0004952599992975593
```
@@ -1909,7 +1909,7 @@ passed
๐ Duration
```
-0.00015682901721447706
+0.00017533404752612114
```
@@ -1941,7 +1941,7 @@ passed
๐ Duration
```
-0.0003111449768766761
+0.0003189269918948412
```
@@ -1964,7 +1964,7 @@ passed
๐ Duration
```
-0.00051101204007864
+0.0005255650030449033
```
@@ -1987,7 +1987,7 @@ passed
๐ Duration
```
-0.000166199984960258
+0.0001786649227142334
```
@@ -2026,7 +2026,7 @@ passed
๐ Duration
```
-0.00012495601549744606
+0.00011181295849382877
```
@@ -2049,7 +2049,7 @@ passed
๐ Duration
```
-0.00047244096640497446
+0.0004908699775114655
```
@@ -2072,7 +2072,7 @@ passed
๐ Duration
```
-0.00010845903307199478
+0.00011639902368187904
```
@@ -2112,7 +2112,7 @@ passed
๐ Duration
```
-0.0002344310050830245
+0.00022254395298659801
```
@@ -2135,7 +2135,7 @@ passed
๐ Duration
```
-0.000505586969666183
+0.0005032940534874797
```
@@ -2158,7 +2158,7 @@ passed
๐ Duration
```
-0.00013757403939962387
+0.00014702696353197098
```
@@ -2190,7 +2190,7 @@ passed
๐ Duration
```
-0.00021879293490201235
+0.00022957893088459969
```
@@ -2213,7 +2213,7 @@ passed
๐ Duration
```
-0.0005970080383121967
+0.0005733340512961149
```
@@ -2236,7 +2236,7 @@ passed
๐ Duration
```
-0.00013965205289423466
+0.00014593708328902721
```
@@ -2292,7 +2292,7 @@ passed
๐ Duration
```
-0.00032871903385967016
+0.000309599912725389
```
@@ -2315,7 +2315,7 @@ passed
๐ Duration
```
-0.0008948569884523749
+0.0008380269864574075
```
@@ -2406,7 +2406,7 @@ tests/test_bis.py:39: AssertionError
๐ Duration
```
-0.000344781088642776
+0.0003308570012450218
```
@@ -2454,7 +2454,7 @@ passed
๐ Duration
```
-0.0003017449053004384
+0.00029876502230763435
```
@@ -2477,7 +2477,7 @@ passed
๐ Duration
```
-0.0007725829491391778
+0.0007436760934069753
```
@@ -2568,7 +2568,7 @@ tests/test_utils_ask_yes_no.py:39: AssertionError
๐ Duration
```
-0.00020279991440474987
+0.0002003679983317852
```
@@ -2600,7 +2600,7 @@ passed
๐ Duration
```
-0.0003088529920205474
+0.0002947200555354357
```
@@ -2623,7 +2623,7 @@ passed
๐ Duration
```
-0.0006382470019161701
+0.0006409919587895274
```
@@ -2714,7 +2714,7 @@ tests/test_utils_ask_yes_no.py:39: AssertionError
๐ Duration
```
-0.00018849305342882872
+0.00019747891929000616
```
@@ -2746,7 +2746,7 @@ passed
๐ Duration
```
-0.00030533503741025925
+0.00030085304751992226
```
@@ -2769,7 +2769,7 @@ passed
๐ Duration
```
-0.0006055349949747324
+0.0006397330434992909
```
@@ -2860,7 +2860,7 @@ tests/test_utils_ask_yes_no.py:39: AssertionError
๐ Duration
```
-0.0001999880187213421
+0.00019617401994764805
```
diff --git a/ci-reports/markdown/json-tree-view.txt b/ci-reports/markdown/json-tree-view.txt
index 2084e22b..c708028d 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: 1752676843.9781125
-โโโ duration: 7.737807512283325
+โโโ created: 1752676993.9211085
+โโโ duration: 7.91787576675415
โโโ exitcode: 1
โโโ root: /workspace/tligui_y/slic
โโโ environment
@@ -550,13 +550,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.0007160520181059837
+โ โ โ โโโ duration: 0.0007093740860000253
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0007250549970194697
+โ โ โ โโโ duration: 0.0007689530029892921
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.0003067399375140667
+โ โ โโโ duration: 0.00027938501443713903
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -574,13 +574,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.0003208940615877509
+โ โ โ โโโ duration: 0.0003221590304747224
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0006743069970980287
+โ โ โ โโโ duration: 0.0006903390167281032
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00017449597362428904
+โ โ โโโ duration: 0.00017316790763288736
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -598,10 +598,10 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00032871903385967016
+โ โ โ โโโ duration: 0.000309599912725389
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0008948569884523749
+โ โ โ โโโ duration: 0.0008380269864574075
โ โ โ โโโ outcome: failed
โ โ โ โโโ crash
โ โ โ โ โโโ path: /workspace/tligui_y/slic/tests/test_bis.py
@@ -652,7 +652,7 @@
โ โ โ
โ โ โ tests/test_bis.py:39: AssertionError
โ โ โโโ teardown
-โ โ โโโ duration: 0.000344781088642776
+โ โ โโโ duration: 0.0003308570012450218
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -670,13 +670,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.0003858319250866771
+โ โ โ โโโ duration: 0.0003974880091845989
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0006664349930360913
+โ โ โ โโโ duration: 0.0006654290482401848
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00017206196207553148
+โ โ โโโ duration: 0.0001943610841408372
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -694,13 +694,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00031197303906083107
+โ โ โ โโโ duration: 0.0003201169893145561
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0005702440394088626
+โ โ โ โโโ duration: 0.0005720920162275434
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.0001686060568317771
+โ โ โโโ duration: 0.0001628110185265541
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -719,13 +719,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.0003138229949399829
+โ โ โ โโโ duration: 0.0003002809826284647
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0005111739737913013
+โ โ โ โโโ duration: 0.0005069790640845895
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00016946299001574516
+โ โ โโโ duration: 0.00016366597265005112
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -743,13 +743,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.0002882849657908082
+โ โ โ โโโ duration: 0.00029702403116971254
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.000665167928673327
+โ โ โ โโโ duration: 0.0006169569678604603
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00016105500981211662
+โ โ โโโ duration: 0.0001768820220604539
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -767,13 +767,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00030142697505652905
+โ โ โ โโโ duration: 0.0002936749951913953
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0004835679428651929
+โ โ โ โโโ duration: 0.0005383170209825039
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00015809503383934498
+โ โ โโโ duration: 0.0001679180422797799
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -791,13 +791,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00028797995764762163
+โ โ โ โโโ duration: 0.0003054320113733411
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0004926660330966115
+โ โ โ โโโ duration: 0.00048293208237737417
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.0001569458981975913
+โ โ โโโ duration: 0.00016999198123812675
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -815,13 +815,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00029081699904054403
+โ โ โ โโโ duration: 0.00029209593776613474
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0004964430117979646
+โ โ โ โโโ duration: 0.0005033150082454085
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00018093897961080074
+โ โ โโโ duration: 0.00017050199676305056
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -839,13 +839,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00029698899015784264
+โ โ โ โโโ duration: 0.00030960701406002045
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0005889739841222763
+โ โ โ โโโ duration: 0.0005743860965594649
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.0001594889909029007
+โ โ โโโ duration: 0.00017532496713101864
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -863,13 +863,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00029549107421189547
+โ โ โ โโโ duration: 0.0002947590546682477
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0004834759747609496
+โ โ โ โโโ duration: 0.00048710498958826065
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00016133696772158146
+โ โ โโโ duration: 0.00017174892127513885
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -887,13 +887,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.0002997169503942132
+โ โ โ โโโ duration: 0.00030635902658104897
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0005094290245324373
+โ โ โ โโโ duration: 0.000476257991977036
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00016634794883430004
+โ โ โโโ duration: 0.0001653169747442007
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_c
@@ -906,13 +906,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00012796500232070684
+โ โ โ โโโ duration: 0.00011598598212003708
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.00046397000551223755
+โ โ โ โโโ duration: 0.0004916940815746784
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.0001083100214600563
+โ โ โโโ duration: 0.00010553095489740372
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_d
@@ -928,13 +928,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00022806297056376934
+โ โ โ โโโ duration: 0.00022032903507351875
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0006240620277822018
+โ โ โ โโโ duration: 0.0005855739582329988
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.0001400659093633294
+โ โ โโโ duration: 0.00013881793711334467
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid: tests/test_bis.py::test_ask_yes_no_ctrl_d
@@ -950,13 +950,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00022361299488693476
+โ โ โ โโโ duration: 0.00020914396736770868
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0004876710008829832
+โ โ โ โโโ duration: 0.000480096903629601
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00015377404633909464
+โ โ โโโ duration: 0.00015355099458247423
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -974,13 +974,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.0003147450042888522
+โ โ โ โโโ duration: 0.00032230105716735125
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.000528087024576962
+โ โ โ โโโ duration: 0.0005004120757803321
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00017071503680199385
+โ โ โโโ duration: 0.00015786895528435707
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -998,13 +998,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00031266501173377037
+โ โ โ โโโ duration: 0.000310103059746325
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0004914950113743544
+โ โ โ โโโ duration: 0.0004875750746577978
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00017083203420042992
+โ โ โโโ duration: 0.0001555710332468152
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -1022,10 +1022,10 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.0003017449053004384
+โ โ โ โโโ duration: 0.00029876502230763435
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0007725829491391778
+โ โ โ โโโ duration: 0.0007436760934069753
โ โ โ โโโ outcome: failed
โ โ โ โโโ crash
โ โ โ โ โโโ path:
@@ -1077,7 +1077,7 @@
โ โ โ
โ โ โ tests/test_utils_ask_yes_no.py:39: AssertionError
โ โ โโโ teardown
-โ โ โโโ duration: 0.00020279991440474987
+โ โ โโโ duration: 0.0002003679983317852
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -1095,13 +1095,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.0003069150261580944
+โ โ โ โโโ duration: 0.0003103649942204356
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0005154400132596493
+โ โ โ โโโ duration: 0.0005063990829512477
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.0001695400569587946
+โ โ โโโ duration: 0.00016592303290963173
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -1119,13 +1119,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00030094501562416553
+โ โ โ โโโ duration: 0.00029888004064559937
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0005216989666223526
+โ โ โ โโโ duration: 0.000520800007507205
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00016792607493698597
+โ โ โโโ duration: 0.00016347004566341639
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -1144,13 +1144,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00030265701934695244
+โ โ โ โโโ duration: 0.000303962966427207
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0005048490129411221
+โ โ โ โโโ duration: 0.0004988339496776462
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00016513897571712732
+โ โ โโโ duration: 0.00016227399464696646
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -1168,13 +1168,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.0002989950589835644
+โ โ โ โโโ duration: 0.0002971780486404896
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0011737110326066613
+โ โ โ โโโ duration: 0.0006142599740996957
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00017919705715030432
+โ โ โโโ duration: 0.00016240589320659637
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -1192,13 +1192,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.0003026840277016163
+โ โ โ โโโ duration: 0.0003188250120729208
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0005017380462959409
+โ โ โ โโโ duration: 0.00049292400944978
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00017080409452319145
+โ โ โโโ duration: 0.00017506990116089582
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -1216,10 +1216,10 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.0003088529920205474
+โ โ โ โโโ duration: 0.0002947200555354357
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0006382470019161701
+โ โ โ โโโ duration: 0.0006409919587895274
โ โ โ โโโ outcome: failed
โ โ โ โโโ crash
โ โ โ โ โโโ path:
@@ -1271,7 +1271,7 @@
โ โ โ
โ โ โ tests/test_utils_ask_yes_no.py:39: AssertionError
โ โ โโโ teardown
-โ โ โโโ duration: 0.00018849305342882872
+โ โ โโโ duration: 0.00019747891929000616
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -1289,13 +1289,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00032245100010186434
+โ โ โ โโโ duration: 0.0003147829556837678
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0004954109899699688
+โ โ โ โโโ duration: 0.0005187720526009798
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00017201399896293879
+โ โ โโโ duration: 0.0001591169275343418
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -1313,13 +1313,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00030201999470591545
+โ โ โ โโโ duration: 0.0003368590259924531
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0005045810248702765
+โ โ โ โโโ duration: 0.0004952599992975593
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00015682901721447706
+โ โ โโโ duration: 0.00017533404752612114
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -1337,10 +1337,10 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00030533503741025925
+โ โ โ โโโ duration: 0.00030085304751992226
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.0006055349949747324
+โ โ โ โโโ duration: 0.0006397330434992909
โ โ โ โโโ outcome: failed
โ โ โ โโโ crash
โ โ โ โ โโโ path:
@@ -1392,7 +1392,7 @@
โ โ โ
โ โ โ tests/test_utils_ask_yes_no.py:39: AssertionError
โ โ โโโ teardown
-โ โ โโโ duration: 0.0001999880187213421
+โ โ โโโ duration: 0.00019617401994764805
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid:
@@ -1410,13 +1410,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.0003111449768766761
+โ โ โ โโโ duration: 0.0003189269918948412
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.00051101204007864
+โ โ โ โโโ duration: 0.0005255650030449033
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.000166199984960258
+โ โ โโโ duration: 0.0001786649227142334
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c
@@ -1429,13 +1429,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.00012495601549744606
+โ โ โ โโโ duration: 0.00011181295849382877
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.00047244096640497446
+โ โ โ โโโ duration: 0.0004908699775114655
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00010845903307199478
+โ โ โโโ duration: 0.00011639902368187904
โ โ โโโ outcome: passed
โ โโโ -
โ โ โโโ nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d
@@ -1451,13 +1451,13 @@
โ โ โ โโโ slic
โ โ โ โโโ
โ โ โโโ setup
-โ โ โ โโโ duration: 0.0002344310050830245
+โ โ โ โโโ duration: 0.00022254395298659801
โ โ โ โโโ outcome: passed
โ โ โโโ call
-โ โ โ โโโ duration: 0.000505586969666183
+โ โ โ โโโ duration: 0.0005032940534874797
โ โ โ โโโ outcome: passed
โ โ โโโ teardown
-โ โ โโโ duration: 0.00013757403939962387
+โ โ โโโ duration: 0.00014702696353197098
โ โ โโโ outcome: passed
โ โโโ -
โ โโโ nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d
@@ -1473,13 +1473,13 @@
โ โ โโโ slic
โ โ โโโ
โ โโโ setup
-โ โ โโโ duration: 0.00021879293490201235
+โ โ โโโ duration: 0.00022957893088459969
โ โ โโโ outcome: passed
โ โโโ call
-โ โ โโโ duration: 0.0005970080383121967
+โ โ โโโ duration: 0.0005733340512961149
โ โ โโโ outcome: passed
โ โโโ teardown
-โ โโโ duration: 0.00013965205289423466
+โ โโโ duration: 0.00014593708328902721
โ โโโ outcome: passed
โโโ warnings
โโโ -
diff --git a/ci-reports/markdown/pytest-report.json b/ci-reports/markdown/pytest-report.json
index 982014f5..d9c7bd2e 100644
--- a/ci-reports/markdown/pytest-report.json
+++ b/ci-reports/markdown/pytest-report.json
@@ -1 +1 @@
-{"created": 1752676843.9781125, "duration": 7.737807512283325, "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": "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": "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.0007160520181059837, "outcome": "passed"}, "call": {"duration": 0.0007250549970194697, "outcome": "passed"}, "teardown": {"duration": 0.0003067399375140667, "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.0003208940615877509, "outcome": "passed"}, "call": {"duration": 0.0006743069970980287, "outcome": "passed"}, "teardown": {"duration": 0.00017449597362428904, "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.00032871903385967016, "outcome": "passed"}, "call": {"duration": 0.0008948569884523749, "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.000344781088642776, "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.0003858319250866771, "outcome": "passed"}, "call": {"duration": 0.0006664349930360913, "outcome": "passed"}, "teardown": {"duration": 0.00017206196207553148, "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.00031197303906083107, "outcome": "passed"}, "call": {"duration": 0.0005702440394088626, "outcome": "passed"}, "teardown": {"duration": 0.0001686060568317771, "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.0003138229949399829, "outcome": "passed"}, "call": {"duration": 0.0005111739737913013, "outcome": "passed"}, "teardown": {"duration": 0.00016946299001574516, "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.0002882849657908082, "outcome": "passed"}, "call": {"duration": 0.000665167928673327, "outcome": "passed"}, "teardown": {"duration": 0.00016105500981211662, "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.00030142697505652905, "outcome": "passed"}, "call": {"duration": 0.0004835679428651929, "outcome": "passed"}, "teardown": {"duration": 0.00015809503383934498, "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.00028797995764762163, "outcome": "passed"}, "call": {"duration": 0.0004926660330966115, "outcome": "passed"}, "teardown": {"duration": 0.0001569458981975913, "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.00029081699904054403, "outcome": "passed"}, "call": {"duration": 0.0004964430117979646, "outcome": "passed"}, "teardown": {"duration": 0.00018093897961080074, "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.00029698899015784264, "outcome": "passed"}, "call": {"duration": 0.0005889739841222763, "outcome": "passed"}, "teardown": {"duration": 0.0001594889909029007, "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.00029549107421189547, "outcome": "passed"}, "call": {"duration": 0.0004834759747609496, "outcome": "passed"}, "teardown": {"duration": 0.00016133696772158146, "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.0002997169503942132, "outcome": "passed"}, "call": {"duration": 0.0005094290245324373, "outcome": "passed"}, "teardown": {"duration": 0.00016634794883430004, "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.00012796500232070684, "outcome": "passed"}, "call": {"duration": 0.00046397000551223755, "outcome": "passed"}, "teardown": {"duration": 0.0001083100214600563, "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.00022806297056376934, "outcome": "passed"}, "call": {"duration": 0.0006240620277822018, "outcome": "passed"}, "teardown": {"duration": 0.0001400659093633294, "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.00022361299488693476, "outcome": "passed"}, "call": {"duration": 0.0004876710008829832, "outcome": "passed"}, "teardown": {"duration": 0.00015377404633909464, "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.0003147450042888522, "outcome": "passed"}, "call": {"duration": 0.000528087024576962, "outcome": "passed"}, "teardown": {"duration": 0.00017071503680199385, "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.00031266501173377037, "outcome": "passed"}, "call": {"duration": 0.0004914950113743544, "outcome": "passed"}, "teardown": {"duration": 0.00017083203420042992, "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.0003017449053004384, "outcome": "passed"}, "call": {"duration": 0.0007725829491391778, "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.00020279991440474987, "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.0003069150261580944, "outcome": "passed"}, "call": {"duration": 0.0005154400132596493, "outcome": "passed"}, "teardown": {"duration": 0.0001695400569587946, "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.00030094501562416553, "outcome": "passed"}, "call": {"duration": 0.0005216989666223526, "outcome": "passed"}, "teardown": {"duration": 0.00016792607493698597, "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.00030265701934695244, "outcome": "passed"}, "call": {"duration": 0.0005048490129411221, "outcome": "passed"}, "teardown": {"duration": 0.00016513897571712732, "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.0002989950589835644, "outcome": "passed"}, "call": {"duration": 0.0011737110326066613, "outcome": "passed"}, "teardown": {"duration": 0.00017919705715030432, "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.0003026840277016163, "outcome": "passed"}, "call": {"duration": 0.0005017380462959409, "outcome": "passed"}, "teardown": {"duration": 0.00017080409452319145, "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.0003088529920205474, "outcome": "passed"}, "call": {"duration": 0.0006382470019161701, "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.00018849305342882872, "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.00032245100010186434, "outcome": "passed"}, "call": {"duration": 0.0004954109899699688, "outcome": "passed"}, "teardown": {"duration": 0.00017201399896293879, "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.00030201999470591545, "outcome": "passed"}, "call": {"duration": 0.0005045810248702765, "outcome": "passed"}, "teardown": {"duration": 0.00015682901721447706, "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.00030533503741025925, "outcome": "passed"}, "call": {"duration": 0.0006055349949747324, "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.0001999880187213421, "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.0003111449768766761, "outcome": "passed"}, "call": {"duration": 0.00051101204007864, "outcome": "passed"}, "teardown": {"duration": 0.000166199984960258, "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.00012495601549744606, "outcome": "passed"}, "call": {"duration": 0.00047244096640497446, "outcome": "passed"}, "teardown": {"duration": 0.00010845903307199478, "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.0002344310050830245, "outcome": "passed"}, "call": {"duration": 0.000505586969666183, "outcome": "passed"}, "teardown": {"duration": 0.00013757403939962387, "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.00021879293490201235, "outcome": "passed"}, "call": {"duration": 0.0005970080383121967, "outcome": "passed"}, "teardown": {"duration": 0.00013965205289423466, "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": 1752676993.9211085, "duration": 7.91787576675415, "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": "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": "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.0007093740860000253, "outcome": "passed"}, "call": {"duration": 0.0007689530029892921, "outcome": "passed"}, "teardown": {"duration": 0.00027938501443713903, "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.0003221590304747224, "outcome": "passed"}, "call": {"duration": 0.0006903390167281032, "outcome": "passed"}, "teardown": {"duration": 0.00017316790763288736, "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.000309599912725389, "outcome": "passed"}, "call": {"duration": 0.0008380269864574075, "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.0003308570012450218, "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.0003974880091845989, "outcome": "passed"}, "call": {"duration": 0.0006654290482401848, "outcome": "passed"}, "teardown": {"duration": 0.0001943610841408372, "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.0003201169893145561, "outcome": "passed"}, "call": {"duration": 0.0005720920162275434, "outcome": "passed"}, "teardown": {"duration": 0.0001628110185265541, "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.0003002809826284647, "outcome": "passed"}, "call": {"duration": 0.0005069790640845895, "outcome": "passed"}, "teardown": {"duration": 0.00016366597265005112, "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.00029702403116971254, "outcome": "passed"}, "call": {"duration": 0.0006169569678604603, "outcome": "passed"}, "teardown": {"duration": 0.0001768820220604539, "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.0002936749951913953, "outcome": "passed"}, "call": {"duration": 0.0005383170209825039, "outcome": "passed"}, "teardown": {"duration": 0.0001679180422797799, "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.0003054320113733411, "outcome": "passed"}, "call": {"duration": 0.00048293208237737417, "outcome": "passed"}, "teardown": {"duration": 0.00016999198123812675, "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.00029209593776613474, "outcome": "passed"}, "call": {"duration": 0.0005033150082454085, "outcome": "passed"}, "teardown": {"duration": 0.00017050199676305056, "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.00030960701406002045, "outcome": "passed"}, "call": {"duration": 0.0005743860965594649, "outcome": "passed"}, "teardown": {"duration": 0.00017532496713101864, "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.0002947590546682477, "outcome": "passed"}, "call": {"duration": 0.00048710498958826065, "outcome": "passed"}, "teardown": {"duration": 0.00017174892127513885, "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.00030635902658104897, "outcome": "passed"}, "call": {"duration": 0.000476257991977036, "outcome": "passed"}, "teardown": {"duration": 0.0001653169747442007, "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.00011598598212003708, "outcome": "passed"}, "call": {"duration": 0.0004916940815746784, "outcome": "passed"}, "teardown": {"duration": 0.00010553095489740372, "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.00022032903507351875, "outcome": "passed"}, "call": {"duration": 0.0005855739582329988, "outcome": "passed"}, "teardown": {"duration": 0.00013881793711334467, "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.00020914396736770868, "outcome": "passed"}, "call": {"duration": 0.000480096903629601, "outcome": "passed"}, "teardown": {"duration": 0.00015355099458247423, "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.00032230105716735125, "outcome": "passed"}, "call": {"duration": 0.0005004120757803321, "outcome": "passed"}, "teardown": {"duration": 0.00015786895528435707, "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.000310103059746325, "outcome": "passed"}, "call": {"duration": 0.0004875750746577978, "outcome": "passed"}, "teardown": {"duration": 0.0001555710332468152, "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.00029876502230763435, "outcome": "passed"}, "call": {"duration": 0.0007436760934069753, "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.0002003679983317852, "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.0003103649942204356, "outcome": "passed"}, "call": {"duration": 0.0005063990829512477, "outcome": "passed"}, "teardown": {"duration": 0.00016592303290963173, "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.00029888004064559937, "outcome": "passed"}, "call": {"duration": 0.000520800007507205, "outcome": "passed"}, "teardown": {"duration": 0.00016347004566341639, "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.000303962966427207, "outcome": "passed"}, "call": {"duration": 0.0004988339496776462, "outcome": "passed"}, "teardown": {"duration": 0.00016227399464696646, "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.0002971780486404896, "outcome": "passed"}, "call": {"duration": 0.0006142599740996957, "outcome": "passed"}, "teardown": {"duration": 0.00016240589320659637, "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.0003188250120729208, "outcome": "passed"}, "call": {"duration": 0.00049292400944978, "outcome": "passed"}, "teardown": {"duration": 0.00017506990116089582, "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.0002947200555354357, "outcome": "passed"}, "call": {"duration": 0.0006409919587895274, "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.00019747891929000616, "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.0003147829556837678, "outcome": "passed"}, "call": {"duration": 0.0005187720526009798, "outcome": "passed"}, "teardown": {"duration": 0.0001591169275343418, "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.0003368590259924531, "outcome": "passed"}, "call": {"duration": 0.0004952599992975593, "outcome": "passed"}, "teardown": {"duration": 0.00017533404752612114, "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.00030085304751992226, "outcome": "passed"}, "call": {"duration": 0.0006397330434992909, "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.00019617401994764805, "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.0003189269918948412, "outcome": "passed"}, "call": {"duration": 0.0005255650030449033, "outcome": "passed"}, "teardown": {"duration": 0.0001786649227142334, "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.00011181295849382877, "outcome": "passed"}, "call": {"duration": 0.0004908699775114655, "outcome": "passed"}, "teardown": {"duration": 0.00011639902368187904, "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.00022254395298659801, "outcome": "passed"}, "call": {"duration": 0.0005032940534874797, "outcome": "passed"}, "teardown": {"duration": 0.00014702696353197098, "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.00022957893088459969, "outcome": "passed"}, "call": {"duration": 0.0005733340512961149, "outcome": "passed"}, "teardown": {"duration": 0.00014593708328902721, "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