Table of Contents
Test Report
View CI Run 1810 | Commit 7c2befd
🧪 Test Report
Generated on 2025-08-07 13:52:13 CEST
🧾 General Info
- duration: 13.472364664077759
- root: /workspace/tligui_y/slic
- environment: {}
📋 Summary
- Passed: 476
- Failed: 34
- Total: 510
- Collected: 510
🔎 Tests
✅ Passed (476)
-
📄 morbidissimo/morbidissimo/morioc/test_infer_type.py
↳ Function: test_it_type_str
-
✅ Test 1
📌 Setup phase
duration:
0.000841646920889616outcome:
passed📌 Call phase
duration:
0.00026872986927628517outcome:
passed📌 Teardown phase
duration:
0.0002212831750512123outcome:
passed
↳ Function: test_it_type_float
-
✅ Test 2
📌 Setup phase
duration:
0.0001358729787170887outcome:
passed📌 Call phase
duration:
0.00014901207759976387outcome:
passed📌 Teardown phase
duration:
0.00010473700240254402outcome:
passed
↳ Function: test_it_type_int
-
✅ Test 3
📌 Setup phase
duration:
0.00012687919661402702outcome:
passed📌 Call phase
duration:
0.00014273915439844131outcome:
passed📌 Teardown phase
duration:
0.00010061217471957207outcome:
passed
↳ Function: test_it_value_str
-
✅ Test 4
📌 Setup phase
duration:
0.00011776527389883995outcome:
passed📌 Call phase
duration:
0.0001384778879582882outcome:
passed📌 Teardown phase
duration:
9.638583287596703e-05outcome:
passed
↳ Function: test_it_value_long_str
-
✅ Test 5
📌 Setup phase
duration:
0.00010636402294039726outcome:
passed📌 Call phase
duration:
0.00013620173558592796outcome:
passed📌 Teardown phase
duration:
0.00010180985555052757outcome:
passed
↳ Function: test_it_value_float
-
✅ Test 6
📌 Setup phase
duration:
0.00010871188715100288outcome:
passed📌 Call phase
duration:
0.0001806560903787613outcome:
passed📌 Teardown phase
duration:
9.818468242883682e-05outcome:
passed
↳ Function: test_it_value_int
-
✅ Test 7
📌 Setup phase
duration:
0.00010980339720845222outcome:
passed📌 Call phase
duration:
0.00017067091539502144outcome:
passed📌 Teardown phase
duration:
9.962683543562889e-05outcome:
passed
↳ Function: test_it_empty_value_str
-
✅ Test 8
📌 Setup phase
duration:
0.00010463502258062363outcome:
passed📌 Call phase
duration:
0.00014108698815107346outcome:
passed📌 Teardown phase
duration:
0.00010284315794706345outcome:
passed
↳ Function: test_it_empty_value_float
-
✅ Test 9
📌 Setup phase
duration:
0.00010810000821948051outcome:
passed📌 Call phase
duration:
0.00013746321201324463outcome:
passed📌 Teardown phase
duration:
9.89418476819992e-05outcome:
passed
↳ Function: test_it_empty_value_int
-
✅ Test 10
📌 Setup phase
duration:
0.00010760966688394547outcome:
passed📌 Call phase
duration:
0.0001348680816590786outcome:
passed📌 Teardown phase
duration:
0.00010534422472119331outcome:
passed
↳ Function: test_pstrue_str
-
✅ Test 11
📌 Setup phase
duration:
0.00010365480557084084outcome:
passed📌 Call phase
duration:
0.00013683177530765533outcome:
passed📌 Teardown phase
duration:
9.411992505192757e-05outcome:
passed
↳ Function: test_pstrue_float
-
✅ Test 12
📌 Setup phase
duration:
0.00010363990440964699outcome:
passed📌 Call phase
duration:
0.00013449694961309433outcome:
passed📌 Teardown phase
duration:
9.938515722751617e-05outcome:
passed
↳ Function: test_pstrue_int
-
✅ Test 13
📌 Setup phase
duration:
0.00010867882519960403outcome:
passed📌 Call phase
duration:
0.00013743806630373outcome:
passed📌 Teardown phase
duration:
9.596487507224083e-05outcome:
passed
↳ Function: test_psfalse_str
-
✅ Test 14
📌 Setup phase
duration:
0.00011521531268954277outcome:
passed📌 Call phase
duration:
0.00013824086636304855outcome:
passed📌 Teardown phase
duration:
9.853718802332878e-05outcome:
passed
↳ Function: test_psfalse_float
-
✅ Test 15
📌 Setup phase
duration:
0.00010549230501055717outcome:
passed📌 Call phase
duration:
0.00013327505439519882outcome:
passed📌 Teardown phase
duration:
9.394297376275063e-05outcome:
passed
↳ Function: test_psfalse_int
-
✅ Test 16
📌 Setup phase
duration:
0.00010650884360074997outcome:
passed📌 Call phase
duration:
0.00014638714492321014outcome:
passed📌 Teardown phase
duration:
9.623030200600624e-05outcome:
passed
↳ Function: test_it_None
-
✅ Test 17
📌 Setup phase
duration:
0.00010302709415555outcome:
passed📌 Call phase
duration:
0.00017213216051459312outcome:
passed📌 Teardown phase
duration:
9.784987196326256e-05outcome:
passed
↳ Function: test_it_True
-
✅ Test 18
📌 Setup phase
duration:
0.00010749418288469315outcome:
passed📌 Call phase
duration:
0.00013765087351202965outcome:
passed📌 Teardown phase
duration:
0.00010151602327823639outcome:
passed
↳ Function: test_it_False
-
✅ Test 19
📌 Setup phase
duration:
0.00010642269626259804outcome:
passed📌 Call phase
duration:
0.0006296811625361443outcome:
passed📌 Teardown phase
duration:
0.0001257290132343769outcome:
passed
↳ Function: test_it_nan
-
✅ Test 20
📌 Setup phase
duration:
0.00013085827231407166outcome:
passed📌 Call phase
duration:
0.000143502838909626outcome:
passed📌 Teardown phase
duration:
0.00010036816820502281outcome:
passed
↳ Function: test_it_np_nan
-
✅ Test 21
📌 Setup phase
duration:
0.00016379216685891151outcome:
passed📌 Call phase
duration:
0.0001417510211467743outcome:
passed📌 Teardown phase
duration:
0.00010280683636665344outcome:
passed
↳ Function: test_it_np1D_int
-
✅ Test 22
📌 Setup phase
duration:
0.00011896900832653046outcome:
passed📌 Call phase
duration:
0.0002203439362347126outcome:
passed📌 Teardown phase
duration:
0.00010488368570804596outcome:
passed
↳ Function: test_it_np2D_int
-
✅ Test 23
📌 Setup phase
duration:
0.00011971080675721169outcome:
passed📌 Call phase
duration:
0.00018470687791705132outcome:
passed📌 Teardown phase
duration:
0.00010426808148622513outcome:
passed
↳ Function: test_it_np1D_float
-
✅ Test 24
📌 Setup phase
duration:
0.00012222584336996078outcome:
passed📌 Call phase
duration:
0.0002548191696405411outcome:
passed📌 Teardown phase
duration:
0.00010376516729593277outcome:
passed
↳ Function: test_it_np2D_float
-
✅ Test 25
📌 Setup phase
duration:
0.00013519776985049248outcome:
passed📌 Call phase
duration:
0.00022862479090690613outcome:
passed📌 Teardown phase
duration:
0.00010394211858510971outcome:
passed
↳ Function: test_it_np1D_bool
-
✅ Test 26
📌 Setup phase
duration:
0.0001124013215303421outcome:
passed📌 Call phase
duration:
0.00017768703401088715outcome:
passed📌 Teardown phase
duration:
0.0001004519872367382outcome:
passed
↳ Function: test_it_np1D_object
-
✅ Test 27
📌 Setup phase
duration:
0.00012186309322714806outcome:
passed📌 Call phase
duration:
0.00015669316053390503outcome:
passed📌 Teardown phase
duration:
0.00010073930025100708outcome:
passed
↳ Function: test_it_np_scalar_int
-
✅ Test 28
📌 Setup phase
duration:
0.00011438922956585884outcome:
passed📌 Call phase
duration:
0.00017562787979841232outcome:
passed📌 Teardown phase
duration:
9.79308970272541e-05outcome:
passed
↳ Function: test_it_np_scalar_float
-
✅ Test 29
📌 Setup phase
duration:
0.0001173531636595726outcome:
passed📌 Call phase
duration:
0.00017005205154418945outcome:
passed📌 Teardown phase
duration:
9.952299296855927e-05outcome:
passed
↳ Function: test_it_np_scalar_bool
-
✅ Test 30
📌 Setup phase
duration:
0.00011059874668717384outcome:
passed📌 Call phase
duration:
0.00016960781067609787outcome:
passed📌 Teardown phase
duration:
9.808782488107681e-05outcome:
passed
↳ Function: test_it_list
-
✅ Test 31
📌 Setup phase
duration:
0.0001108907163143158outcome:
passed📌 Call phase
duration:
0.00014941534027457237outcome:
passed📌 Teardown phase
duration:
9.908108040690422e-05outcome:
passed
↳ Function: test_it_tuple
-
✅ Test 32
📌 Setup phase
duration:
0.00010434677824378014outcome:
passed📌 Call phase
duration:
0.0001534838229417801outcome:
passed📌 Teardown phase
duration:
0.0001112879253923893outcome:
passed
-
-
📄 test_utils_argfwd.py
↳ Function: test_split_at
-
✅ Test 33
params: lst=["a", "b", "c", "d"], index=2, expected="a", "b"], ["c", "d"📌 Runtime Parameters
params: lst: - a - b - c - d index: 2 expected: - - a - b - - c - d id: lst0-2-expected0📌 Setup phase
duration:
0.000465993769466877outcome:
passed📌 Call phase
duration:
0.0001564328558743outcome:
passed📌 Teardown phase
duration:
0.00017028721049427986outcome:
passed -
✅ Test 34
params: lst=["x", "y"], index=1, expected="x"], ["y"📌 Runtime Parameters
params: lst: - x - y index: 1 expected: - - x - - y id: lst1-1-expected1📌 Setup phase
duration:
0.00028614699840545654outcome:
passed📌 Call phase
duration:
0.00016052089631557465outcome:
passed📌 Teardown phase
duration:
0.00018804799765348434outcome:
passed -
✅ Test 35
params: lst=[], index=0, expected=], [📌 Runtime Parameters
params: lst: [] index: 0 expected: - (vide) - (vide) id: lst2-0-expected2📌 Setup phase
duration:
0.000303611159324646outcome:
passed📌 Call phase
duration:
0.00014985399320721626outcome:
passed📌 Teardown phase
duration:
0.00015268614515662193outcome:
passed
↳ Function: test_merge_lists_unique
-
✅ Test 36
params: a=["a", "b"], b=["b", "c"], expected=["a", "b", "c"]📌 Runtime Parameters
params: a: - a - b b: - b - c expected: - a - b - c id: a0-b0-expected0📌 Setup phase
duration:
0.00028893956914544106outcome:
passed📌 Call phase
duration:
0.00014591729268431664outcome:
passed📌 Teardown phase
duration:
0.00015364820137619972outcome:
passed -
✅ Test 37
params: a=[], b=["x"], expected=["x"]📌 Runtime Parameters
params: a: [] b: - x expected: - x id: a1-b1-expected1📌 Setup phase
duration:
0.00028394395485520363outcome:
passed📌 Call phase
duration:
0.000144916120916605outcome:
passed📌 Teardown phase
duration:
0.00015381770208477974outcome:
passed -
✅ Test 38
params: a=["x", "y"], b=["x", "y"], expected=["x", "y"]📌 Runtime Parameters
params: a: - x - y b: - x - y expected: - x - y id: a2-b2-expected2📌 Setup phase
duration:
0.00025773514062166214outcome:
passed📌 Call phase
duration:
0.00013816170394420624outcome:
passed📌 Teardown phase
duration:
0.0001666489988565445outcome:
passed
↳ Function: test_merge_dicts_unique
-
✅ Test 39
params: a={"a": 1}, b={"b": 2}, expected={"a": 1, "b": 2}📌 Runtime Parameters
params: a: a: 1 b: b: 2 expected: a: 1 b: 2 id: a0-b0-expected0📌 Setup phase
duration:
0.00026605790480971336outcome:
passed📌 Call phase
duration:
0.00015067914500832558outcome:
passed📌 Teardown phase
duration:
0.0001584542915225029outcome:
passed -
✅ Test 40
params: a={"x": 1}, b={"x": 9, "y": 3}, expected={"x": 1, "y": 3}📌 Runtime Parameters
params: a: x: 1 b: x: 9 y: 3 expected: x: 1 y: 3 id: a1-b1-expected1📌 Setup phase
duration:
0.0002700267359614372outcome:
passed📌 Call phase
duration:
0.0002678600139915943outcome:
passed📌 Teardown phase
duration:
0.00015887711197137833outcome:
passed -
✅ Test 41
params: a={}, b={"k": 4}, expected={"k": 4}📌 Runtime Parameters
params: a: {} b: k: 4 expected: k: 4 id: a2-b2-expected2📌 Setup phase
duration:
0.00027737440541386604outcome:
passed📌 Call phase
duration:
0.00013977382332086563outcome:
passed📌 Teardown phase
duration:
0.00015769712626934052outcome:
passed
↳ Function: test_make_params_pos_basic
-
✅ Test 42
params: pos=["a", "b"], expected_names=["a", "b"]📌 Runtime Parameters
params: pos: - a - b expected_names: - a - b id: pos0-expected_names0📌 Setup phase
duration:
0.00023591192439198494outcome:
passed📌 Call phase
duration:
0.00018077297136187553outcome:
passed📌 Teardown phase
duration:
0.00015207799151539803outcome:
passed -
✅ Test 43
params: pos=["param1", "value_2", "Z"], expected_names=["param1", "value_2", "Z"]📌 Runtime Parameters
params: pos: - param1 - value_2 - Z expected_names: - param1 - value_2 - Z id: pos1-expected_names1📌 Setup phase
duration:
0.00022864807397127151outcome:
passed📌 Call phase
duration:
0.00016443198546767235outcome:
passed📌 Teardown phase
duration:
0.00014575524255633354outcome:
passed -
✅ Test 44
params: pos=[], expected_names=[]📌 Runtime Parameters
params: pos: [] expected_names: [] id: pos2-expected_names2📌 Setup phase
duration:
0.00023216195404529572outcome:
passed📌 Call phase
duration:
0.0001431540586054325outcome:
passed📌 Teardown phase
duration:
0.00014351727440953255outcome:
passed
↳ Function: test_make_params_kw_basic
-
✅ Test 45
params: kw={"a": 1, "b": 2}, expected_keys=["a", "b"], expected_defaults=[1, 2]📌 Runtime Parameters
params: kw: a: 1 b: 2 expected_keys: - a - b expected_defaults: - 1 - 2 id: kw0-expected_keys0-expected_defaults0📌 Setup phase
duration:
0.00026025157421827316outcome:
passed📌 Call phase
duration:
0.00017219781875610352outcome:
passed📌 Teardown phase
duration:
0.0001624920405447483outcome:
passed -
✅ Test 46
params: kw={"param_x": 0}, expected_keys=["param_x"], expected_defaults=[0]📌 Runtime Parameters
params: kw: param_x: 0 expected_keys: - param_x expected_defaults: - (vide) id: kw1-expected_keys1-expected_defaults1📌 Setup phase
duration:
0.0002818731591105461outcome:
passed📌 Call phase
duration:
0.00016068993136286736outcome:
passed📌 Teardown phase
duration:
0.00015547685325145721outcome:
passed -
✅ Test 47
params: kw={}, expected_keys=[], expected_defaults=[]📌 Runtime Parameters
params: kw: {} expected_keys: [] expected_defaults: [] id: kw2-expected_keys2-expected_defaults2📌 Setup phase
duration:
0.0002783392556011677outcome:
passed📌 Call phase
duration:
0.00014692684635519981outcome:
passed📌 Teardown phase
duration:
0.00015394017100334167outcome:
passed
↳ Function: test_make_signature_parametrized
-
✅ Test 48
params: pos=["x", "y"], kw={"z": 3}, expected_signature="(x, y, z=3)"📌 Runtime Parameters
params: pos: - x - y kw: z: 3 expected_signature: (x, y, z=3) id: pos0-kw0-(x, y, z=3)📌 Setup phase
duration:
0.0002702344208955765outcome:
passed📌 Call phase
duration:
0.0001936648041009903outcome:
passed📌 Teardown phase
duration:
0.00016287900507450104outcome:
passed -
✅ Test 49
params: pos=["a"], kw={"b": 1, "c": 2}, expected_signature="(a, b=1, c=2)"📌 Runtime Parameters
params: pos: - a kw: b: 1 c: 2 expected_signature: (a, b=1, c=2) id: pos1-kw1-(a, b=1, c=2)📌 Setup phase
duration:
0.00027772877365350723outcome:
passed📌 Call phase
duration:
0.00018447916954755783outcome:
passed📌 Teardown phase
duration:
0.00016763899475336075outcome:
passed -
✅ Test 50
params: pos=[], kw={"flag": false}, expected_signature="(flag=False)"📌 Runtime Parameters
params: pos: [] kw: flag: False expected_signature: (flag=False) id: pos2-kw2-(flag=False)📌 Setup phase
duration:
0.0002577141858637333outcome:
passed📌 Call phase
duration:
0.00018142489716410637outcome:
passed📌 Teardown phase
duration:
0.0001617451198399067outcome:
passed
↳ Function: test_get_args_parametrized
-
✅ Test 51
params: func=" at 0x7f30ab77e5e0>", expected_pos=["a", "b"], expected_kw={"c": 3, "d": 4}📌 Runtime Parameters
params: func: <function <lambda> at 0x7f30ab77e5e0> expected_pos: - a - b expected_kw: c: 3 d: 4 id: <lambda>-expected_pos0-expected_kw0📌 Setup phase
duration:
0.0002822224050760269outcome:
passed📌 Call phase
duration:
0.00022461405023932457outcome:
passed📌 Teardown phase
duration:
0.00016569625586271286outcome:
passed -
✅ Test 52
params: func=" at 0x7f30ab782550>", expected_pos=[], expected_kw="{'x': 1, 'y': , 'z': 0}"📌 Runtime Parameters
params: func: <function <lambda> at 0x7f30ab782550> expected_pos: [] expected_kw: {'x': 1, 'y': <class 'inspect._empty'>, 'z': 0} id: <lambda>-expected_pos1-expected_kw1📌 Setup phase
duration:
0.00026704370975494385outcome:
passed📌 Call phase
duration:
0.0001923181116580963outcome:
passed📌 Teardown phase
duration:
0.00016136281192302704outcome:
passed -
✅ Test 53
params: func=" at 0x7f30ab782670>", expected_pos=[], expected_kw={}📌 Runtime Parameters
params: func: <function <lambda> at 0x7f30ab782670> expected_pos: [] expected_kw: {} id: <lambda>-expected_pos2-expected_kw2📌 Setup phase
duration:
0.00026327697560191154outcome:
passed📌 Call phase
duration:
0.00018362188711762428outcome:
passed📌 Teardown phase
duration:
0.00015674298629164696outcome:
passed
↳ Function: test_signature_visible
-
✅ Test 54
params: func="", expected_sig="(a, b, d=30, c=10)"📌 Runtime Parameters
params: func: <function wrap_all at 0x7f30ab7828b0> expected_sig: (a, b, d=30, c=10) id: wrap_all-(a, b, d=30, c=10)📌 Setup phase
duration:
0.00021194526925683022outcome:
passed📌 Call phase
duration:
0.00016943691298365593outcome:
passed📌 Teardown phase
duration:
0.00014356523752212524outcome:
passed -
✅ Test 55
params: func="", expected_sig="(a, b, c=10, d=20)"📌 Runtime Parameters
params: func: <function wrap_skip at 0x7f30ab782940> expected_sig: (a, b, c=10, d=20) id: wrap_skip-(a, b, c=10, d=20)📌 Setup phase
duration:
0.0002276310697197914outcome:
passed📌 Call phase
duration:
0.0001549585722386837outcome:
passed📌 Teardown phase
duration:
0.00013665296137332916outcome:
passed -
✅ Test 56
params: func="", expected_sig="(x, y, c=10, d=20)"📌 Runtime Parameters
params: func: <function wrap_ignore_all at 0x7f30ab7829d0> expected_sig: (x, y, c=10, d=20) id: wrap_ignore_all-(x, y, c=10, d=20)📌 Setup phase
duration:
0.0002482128329575062outcome:
passed📌 Call phase
duration:
0.00016430718824267387outcome:
passed📌 Teardown phase
duration:
0.0001459270715713501outcome:
passed
↳ Function: test_wrapper_behavior
-
✅ Test 57
params: func="", args=[1, 2, 3], kwargs={}, expected_result=36📌 Runtime Parameters
params: func: <function wrap_all at 0x7f30ab7828b0> args: - 1 - 2 - 3 kwargs: {} expected_result: 36 id: wrap_all-args0-kwargs0-36📌 Setup phase
duration:
0.0003283512778580189outcome:
passed📌 Call phase
duration:
0.00014272285625338554outcome:
passed📌 Teardown phase
duration:
0.00016685063019394875outcome:
passed -
✅ Test 58
params: func="", args=[1, 2, 3], kwargs={"d": 5}, expected_result=11📌 Runtime Parameters
params: func: <function wrap_all at 0x7f30ab7828b0> args: - 1 - 2 - 3 kwargs: d: 5 expected_result: 11 id: wrap_all-args1-kwargs1-11📌 Setup phase
duration:
0.0002981070429086685outcome:
passed📌 Call phase
duration:
0.00013819290325045586outcome:
passed📌 Teardown phase
duration:
0.00018050521612167358outcome:
passed -
✅ Test 59
params: func="", args=[0, 0], kwargs={"c": 3, "d": 4}, expected_result=10📌 Runtime Parameters
params: func: <function wrap_skip at 0x7f30ab782940> args: - (vide) - (vide) kwargs: c: 3 d: 4 expected_result: 10 id: wrap_skip-args2-kwargs2-10📌 Setup phase
duration:
0.0003094789572060108outcome:
passed📌 Call phase
duration:
0.0001437845639884472outcome:
passed📌 Teardown phase
duration:
0.00016287807375192642outcome:
passed -
✅ Test 60
params: func="", args=[0, 0], kwargs={}, expected_result=10📌 Runtime Parameters
params: func: <function wrap_ignore_all at 0x7f30ab7829d0> args: - (vide) - (vide) kwargs: {} expected_result: 10 id: wrap_ignore_all-args3-kwargs3-10📌 Setup phase
duration:
0.0003180941566824913outcome:
passed📌 Call phase
duration:
0.00013757776468992233outcome:
passed📌 Teardown phase
duration:
0.0001695556566119194outcome:
passed
-
-
📄 test_utils_ask_yes_no.py
↳ Function: test_ask_yes_no
-
✅ Test 61
params: default=null, user_input="y", expected_output=true, expected_prompt="Question? [y/n] "📌 Runtime Parameters
params: default: None user_input: y expected_output: True expected_prompt: Question? [y/n] id: None-y-True-Question? [y/n]📌 Setup phase
duration:
0.0003523719497025013outcome:
passed📌 Call phase
duration:
0.0010056928731501102outcome:
passed📌 Teardown phase
duration:
0.00019946275278925896outcome:
passed -
✅ Test 62
params: default=null, user_input="yes", expected_output=true, expected_prompt="Question? [y/n] "📌 Runtime Parameters
params: default: None user_input: yes expected_output: True expected_prompt: Question? [y/n] id: None-yes-True-Question? [y/n]📌 Setup phase
duration:
0.0003272821195423603outcome:
passed📌 Call phase
duration:
0.0006129532121121883outcome:
passed📌 Teardown phase
duration:
0.00019192183390259743outcome:
passed -
✅ Test 63
params: default=null, user_input="n", expected_output=false, expected_prompt="Question? [y/n] "📌 Runtime Parameters
params: default: None user_input: n expected_output: False expected_prompt: Question? [y/n] id: None-n-False-Question? [y/n]📌 Setup phase
duration:
0.0003233421593904495outcome:
passed📌 Call phase
duration:
0.0005906261503696442outcome:
passed📌 Teardown phase
duration:
0.00021544191986322403outcome:
passed -
✅ Test 64
params: default=null, user_input="no", expected_output=false, expected_prompt="Question? [y/n] "📌 Runtime Parameters
params: default: None user_input: no expected_output: False expected_prompt: Question? [y/n] id: None-no-False-Question? [y/n]📌 Setup phase
duration:
0.0003844709135591984outcome:
passed📌 Call phase
duration:
0.0006685052067041397outcome:
passed📌 Teardown phase
duration:
0.00019609928131103516outcome:
passed -
✅ Test 65
params: default=null, user_input=["maybe", "y"], expected_output=true, expected_prompt="Question? [y/n] "📌 Runtime Parameters
params: default: None user_input: - maybe - y expected_output: True expected_prompt: Question? [y/n] id: None-user_input4-True-Question? [y/n]📌 Setup phase
duration:
0.0003363126888871193outcome:
passed📌 Call phase
duration:
0.0005264380015432835outcome:
passed📌 Teardown phase
duration:
0.00019277073442935944outcome:
passed -
✅ Test 66
params: default=null, user_input=["", "no"], expected_output=false, expected_prompt="Question? [y/n] "📌 Runtime Parameters
params: default: None user_input: - (vide) - no expected_output: False expected_prompt: Question? [y/n] id: None-user_input5-False-Question? [y/n]📌 Setup phase
duration:
0.00031816912814974785outcome:
passed📌 Call phase
duration:
0.0005350993014872074outcome:
passed📌 Teardown phase
duration:
0.00019410904496908188outcome:
passed -
✅ Test 67
params: default=null, user_input=["invalid", "", "invalid", "yes"], expected_output=true, expected_prompt="Question? [y/n] "📌 Runtime Parameters
params: default: None user_input: - invalid - (vide) - invalid - yes expected_output: True expected_prompt: Question? [y/n] id: None-user_input6-True-Question? [y/n]📌 Setup phase
duration:
0.00031726015731692314outcome:
passed📌 Call phase
duration:
0.0005631591193377972outcome:
passed📌 Teardown phase
duration:
0.00019333790987730026outcome:
passed -
✅ Test 68
params: default="y", user_input="y", expected_output=true, expected_prompt="Question? [Y/n] "📌 Runtime Parameters
params: default: y user_input: y expected_output: True expected_prompt: Question? [Y/n] id: y-y-True-Question? [Y/n]📌 Setup phase
duration:
0.00032187625765800476outcome:
passed📌 Call phase
duration:
0.0006231311708688736outcome:
passed📌 Teardown phase
duration:
0.0001897481270134449outcome:
passed -
✅ Test 69
params: default="y", user_input="n", expected_output=false, expected_prompt="Question? [Y/n] "📌 Runtime Parameters
params: default: y user_input: n expected_output: False expected_prompt: Question? [Y/n] id: y-n-False-Question? [Y/n]📌 Setup phase
duration:
0.00033417483791708946outcome:
passed📌 Call phase
duration:
0.0005013393238186836outcome:
passed📌 Teardown phase
duration:
0.00020859204232692719outcome:
passed -
✅ Test 70
params: default="y", user_input="", expected_output=true, expected_prompt="Question? [Y/n] "📌 Runtime Parameters
params: default: y user_input: None expected_output: True expected_prompt: Question? [Y/n] id: y--True-Question? [Y/n]📌 Setup phase
duration:
0.000315043143928051outcome:
passed📌 Call phase
duration:
0.0005188300274312496outcome:
passed📌 Teardown phase
duration:
0.00018173176795244217outcome:
passed -
✅ Test 71
params: default="n", user_input="y", expected_output=true, expected_prompt="Question? [y/N] "📌 Runtime Parameters
params: default: n user_input: y expected_output: True expected_prompt: Question? [y/N] id: n-y-True-Question? [y/N]📌 Setup phase
duration:
0.0003167050890624523outcome:
passed📌 Call phase
duration:
0.0006150370463728905outcome:
passed📌 Teardown phase
duration:
0.00018255505710840225outcome:
passed -
✅ Test 72
params: default="n", user_input="n", expected_output=false, expected_prompt="Question? [y/N] "📌 Runtime Parameters
params: default: n user_input: n expected_output: False expected_prompt: Question? [y/N] id: n-n-False-Question? [y/N]📌 Setup phase
duration:
0.0003348039463162422outcome:
passed📌 Call phase
duration:
0.0004941858351230621outcome:
passed📌 Teardown phase
duration:
0.00018048938363790512outcome:
passed -
✅ Test 73
params: default="n", user_input="", expected_output=false, expected_prompt="Question? [y/N] "📌 Runtime Parameters
params: default: n user_input: None expected_output: False expected_prompt: Question? [y/N] id: n--False-Question? [y/N]📌 Setup phase
duration:
0.000313526950776577outcome:
passed📌 Call phase
duration:
0.0005072150379419327outcome:
passed📌 Teardown phase
duration:
0.0001858002506196499outcome:
passed
↳ Function: test_ask_yes_no_ctrl_c
-
✅ Test 74
params: default=null, user_input="", expected_output=false, ctrl_c="n"📌 Runtime Parameters
params: default: None user_input: <class 'KeyboardInterrupt'> expected_output: False ctrl_c: n id: None-KeyboardInterrupt-False-n📌 Setup phase
duration:
0.0003177211619913578outcome:
passed📌 Call phase
duration:
0.000527373980730772outcome:
passed📌 Teardown phase
duration:
0.00018725404515862465outcome:
passed -
✅ Test 75
params: default=null, user_input="", expected_output=true, ctrl_c="y"📌 Runtime Parameters
params: default: None user_input: <class 'KeyboardInterrupt'> expected_output: True ctrl_c: y id: None-KeyboardInterrupt-True-y📌 Setup phase
duration:
0.0003338051028549671outcome:
passed📌 Call phase
duration:
0.0006255479529500008outcome:
passed📌 Teardown phase
duration:
0.00019245408475399017outcome:
passed -
✅ Test 76
params: default="y", user_input="", expected_output=false, ctrl_c="n"📌 Runtime Parameters
params: default: y user_input: <class 'KeyboardInterrupt'> expected_output: False ctrl_c: n id: y-KeyboardInterrupt-False-n📌 Setup phase
duration:
0.00032785581424832344outcome:
passed📌 Call phase
duration:
0.0005006799474358559outcome:
passed📌 Teardown phase
duration:
0.0001976843923330307outcome:
passed -
✅ Test 77
params: default="y", user_input="", expected_output=true, ctrl_c="y"📌 Runtime Parameters
params: default: y user_input: <class 'KeyboardInterrupt'> expected_output: True ctrl_c: y id: y-KeyboardInterrupt-True-y📌 Setup phase
duration:
0.00032170023769140244outcome:
passed📌 Call phase
duration:
0.0005221688188612461outcome:
passed📌 Teardown phase
duration:
0.00018804287537932396outcome:
passed -
✅ Test 78
params: default="n", user_input="", expected_output=false, ctrl_c="n"📌 Runtime Parameters
params: default: n user_input: <class 'KeyboardInterrupt'> expected_output: False ctrl_c: n id: n-KeyboardInterrupt-False-n📌 Setup phase
duration:
0.0003203079104423523outcome:
passed📌 Call phase
duration:
0.0005330131389200687outcome:
passed📌 Teardown phase
duration:
0.0001839650794863701outcome:
passed -
✅ Test 79
params: default=null, user_input="['invalid', '', 'invalid', ]", expected_output=false, ctrl_c="n"📌 Runtime Parameters
params: default: None user_input: ['invalid', '', 'invalid', <class 'KeyboardInterrupt'>] expected_output: False ctrl_c: n id: None-user_input5-False-n📌 Setup phase
duration:
0.00034207431599497795outcome:
passed📌 Call phase
duration:
0.0006486168131232262outcome:
passed📌 Teardown phase
duration:
0.00018715905025601387outcome:
passed -
✅ Test 80
params: default=null, user_input="['invalid', '', 'invalid', ]", expected_output=true, ctrl_c="y"📌 Runtime Parameters
params: default: None user_input: ['invalid', '', 'invalid', <class 'KeyboardInterrupt'>] expected_output: True ctrl_c: y id: None-user_input6-True-y📌 Setup phase
duration:
0.0003245989792048931outcome:
passed📌 Call phase
duration:
0.0005303281359374523outcome:
passed📌 Teardown phase
duration:
0.00020280620083212852outcome:
passed -
✅ Test 81
params: default=null, user_input="['foo', '', , '', 'invalid', , 'no']", expected_output=false, ctrl_c=null📌 Runtime Parameters
params: default: None user_input: ['foo', '', <class 'KeyboardInterrupt'>, '', 'invalid', <class 'KeyboardInterrupt'>, 'no'] expected_output: False ctrl_c: None id: None-user_input7-False-None📌 Setup phase
duration:
0.0003183595836162567outcome:
passed📌 Call phase
duration:
0.0006185020320117474outcome:
passed📌 Teardown phase
duration:
0.00019244663417339325outcome:
passed -
✅ Test 82
params: default="n", user_input="[, , , '']", expected_output=false, ctrl_c=null📌 Runtime Parameters
params: default: n user_input: [<class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, ''] expected_output: False ctrl_c: None id: n-user_input8-False-None📌 Setup phase
duration:
0.00031979428604245186outcome:
passed📌 Call phase
duration:
0.0006562890484929085outcome:
passed📌 Teardown phase
duration:
0.00020228186622262outcome:
passed -
✅ Test 83
params: default="n", user_input="[, , , '']", expected_output=false, ctrl_c="Invalid"📌 Runtime Parameters
params: default: n user_input: [<class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, <class 'KeyboardInterrupt'>, ''] expected_output: False ctrl_c: Invalid id: n-user_input9-False-Invalid📌 Setup phase
duration:
0.00032484717667102814outcome:
passed📌 Call phase
duration:
0.0005475697107613087outcome:
passed📌 Teardown phase
duration:
0.00018783332780003548outcome:
passed
↳ Function: test_ask_yes_no_ctrl_d
-
✅ Test 84
params: default=null, user_input="", expected_output=false, ctrl_d="n"📌 Runtime Parameters
params: default: None user_input: <class 'EOFError'> expected_output: False ctrl_d: n id: None-EOFError-False-n📌 Setup phase
duration:
0.00034244777634739876outcome:
passed📌 Call phase
duration:
0.0005098376423120499outcome:
passed📌 Teardown phase
duration:
0.00018843868747353554outcome:
passed -
✅ Test 85
params: default=null, user_input="", expected_output=true, ctrl_d="y"📌 Runtime Parameters
params: default: None user_input: <class 'EOFError'> expected_output: True ctrl_d: y id: None-EOFError-True-y📌 Setup phase
duration:
0.0003250790759921074outcome:
passed📌 Call phase
duration:
0.0005168518982827663outcome:
passed📌 Teardown phase
duration:
0.000181462150067091outcome:
passed -
✅ Test 86
params: default="y", user_input="", expected_output=true, ctrl_d="y"📌 Runtime Parameters
params: default: y user_input: <class 'EOFError'> expected_output: True ctrl_d: y id: y-EOFError-True-y📌 Setup phase
duration:
0.000319099985063076outcome:
passed📌 Call phase
duration:
0.0006174277514219284outcome:
passed📌 Teardown phase
duration:
0.00018041301518678665outcome:
passed -
✅ Test 87
params: default="n", user_input="", expected_output=true, ctrl_d="y"📌 Runtime Parameters
params: default: n user_input: <class 'EOFError'> expected_output: True ctrl_d: y id: n-EOFError-True-y📌 Setup phase
duration:
0.0003248979337513447outcome:
passed📌 Call phase
duration:
0.0005072839558124542outcome:
passed📌 Teardown phase
duration:
0.00018269289284944534outcome:
passed -
✅ Test 88
params: default="n", user_input="", expected_output=false, ctrl_d="n"📌 Runtime Parameters
params: default: n user_input: <class 'EOFError'> expected_output: False ctrl_d: n id: n-EOFError-False-n📌 Setup phase
duration:
0.00033124396577477455outcome:
passed📌 Call phase
duration:
0.0005004480481147766outcome:
passed📌 Teardown phase
duration:
0.0001965472474694252outcome:
passed -
✅ Test 89
params: default=null, user_input="['foo', ]", expected_output=true, ctrl_d="y"📌 Runtime Parameters
params: default: None user_input: ['foo', <class 'EOFError'>] expected_output: True ctrl_d: y id: None-user_input5-True-y📌 Setup phase
duration:
0.00031877728179097176outcome:
passed📌 Call phase
duration:
0.000563920009881258outcome:
passed📌 Teardown phase
duration:
0.00018777605146169662outcome:
passed -
✅ Test 90
params: default=null, user_input="['foo', ]", expected_output=false, ctrl_d="n"📌 Runtime Parameters
params: default: None user_input: ['foo', <class 'EOFError'>] expected_output: False ctrl_d: n id: None-user_input6-False-n📌 Setup phase
duration:
0.0003217291086912155outcome:
passed📌 Call phase
duration:
0.0006192298606038094outcome:
passed📌 Teardown phase
duration:
0.00018655788153409958outcome:
passed -
✅ Test 91
params: default="y", user_input="", expected_output=true, ctrl_d=null📌 Runtime Parameters
params: default: y user_input: <class 'EOFError'> expected_output: True ctrl_d: None id: y-EOFError-True-None📌 Setup phase
duration:
0.0003443271853029728outcome:
passed📌 Call phase
duration:
0.0005026119761168957outcome:
passed📌 Teardown phase
duration:
0.00018234876915812492outcome:
passed -
✅ Test 92
params: default="n", user_input="", expected_output=false, ctrl_d=null📌 Runtime Parameters
params: default: n user_input: <class 'EOFError'> expected_output: False ctrl_d: None id: n-EOFError-False-None📌 Setup phase
duration:
0.0003072703257203102outcome:
passed📌 Call phase
duration:
0.0005288277752697468outcome:
passed📌 Teardown phase
duration:
0.00019217003136873245outcome:
passed -
✅ Test 93
params: default=null, user_input="['invalid', 'ok', '', , 'ok', 'y']", expected_output=true, ctrl_d=null📌 Runtime Parameters
params: default: None user_input: ['invalid', 'ok', '', <class 'EOFError'>, 'ok', 'y'] expected_output: True ctrl_d: None id: None-user_input9-True-None📌 Setup phase
duration:
0.0003171749413013458outcome:
passed📌 Call phase
duration:
0.000674655195325613outcome:
passed📌 Teardown phase
duration:
0.00017987098544836044outcome:
passed -
✅ Test 94
params: default="n", user_input="['no', ]", expected_output=false, ctrl_d=null📌 Runtime Parameters
params: default: n user_input: ['no', <class 'EOFError'>] expected_output: False ctrl_d: None id: n-user_input10-False-None📌 Setup phase
duration:
0.0003180466592311859outcome:
passed📌 Call phase
duration:
0.000508864875882864outcome:
passed📌 Teardown phase
duration:
0.00018564611673355103outcome:
passed -
✅ Test 95
params: default=null, user_input="[, , , 'y']", expected_output=true, ctrl_d=null📌 Runtime Parameters
params: default: None user_input: [<class 'EOFError'>, <class 'EOFError'>, <class 'EOFError'>, 'y'] expected_output: True ctrl_d: None id: None-user_input11-True-None📌 Setup phase
duration:
0.0003264262340962887outcome:
passed📌 Call phase
duration:
0.0005212943069636822outcome:
passed📌 Teardown phase
duration:
0.00019218586385250092outcome:
passed -
✅ Test 96
params: default=null, user_input="['invalid', '', 'nope', ]", expected_output=false, ctrl_d="n"📌 Runtime Parameters
params: default: None user_input: ['invalid', '', 'nope', <class 'EOFError'>] expected_output: False ctrl_d: n id: None-user_input12-False-n📌 Setup phase
duration:
0.00031773094087839127outcome:
passed📌 Call phase
duration:
0.0005473759956657887outcome:
passed📌 Teardown phase
duration:
0.00018625101074576378outcome:
passed -
✅ Test 97
params: default=null, user_input="['nope', 'nope', ]", expected_output=true, ctrl_d="y"📌 Runtime Parameters
params: default: None user_input: ['nope', 'nope', <class 'EOFError'>] expected_output: True ctrl_d: y id: None-user_input13-True-y📌 Setup phase
duration:
0.0003276057541370392outcome:
passed📌 Call phase
duration:
0.0010854201391339302outcome:
passed📌 Teardown phase
duration:
0.00018313201144337654outcome:
passed
↳ Function: test_ask_yes_no_mixed_sequences
-
✅ Test 98
params: default=null, ctrl_c="invalid", ctrl_d=null, user_input="['what', '', 'nope', , 'ok', , 'no']", expected_output=false📌 Runtime Parameters
params: default: None ctrl_c: invalid ctrl_d: None user_input: ['what', '', 'nope', <class 'KeyboardInterrupt'>, 'ok', <class 'EOFError'>, 'no'] expected_output: False id: None-invalid-None-user_input0-False📌 Setup phase
duration:
0.0003696940839290619outcome:
passed📌 Call phase
duration:
0.0005728923715651035outcome:
passed📌 Teardown phase
duration:
0.00020611705258488655outcome:
passed -
✅ Test 99
params: default=null, ctrl_c=null, ctrl_d="notananswer", user_input="['maybe', , 'nop', 'yep', , 'yes']", expected_output=true📌 Runtime Parameters
params: default: None ctrl_c: None ctrl_d: notananswer user_input: ['maybe', <class 'KeyboardInterrupt'>, 'nop', 'yep', <class 'EOFError'>, 'yes'] expected_output: True id: None-None-notananswer-user_input1-True📌 Setup phase
duration:
0.00036548590287566185outcome:
passed📌 Call phase
duration:
0.0005718949250876904outcome:
passed📌 Teardown phase
duration:
0.00019941572099924088outcome:
passed -
✅ Test 100
params: default=null, ctrl_c="n", ctrl_d="nop", user_input="['ok', , , 'maybe', , 'nah', ]", expected_output=false📌 Runtime Parameters
params: default: None ctrl_c: n ctrl_d: nop user_input: ['ok', <class 'EOFError'>, <class 'EOFError'>, 'maybe', <class 'EOFError'>, 'nah', <class 'KeyboardInterrupt'>] expected_output: False id: None-n-nop-user_input2-False📌 Setup phase
duration:
0.00035900017246603966outcome:
passed📌 Call phase
duration:
0.0006923633627593517outcome:
passed📌 Teardown phase
duration:
0.00020597642287611961outcome:
passed
-
-
📄 test_utils_channels.py
↳ Function: test_load_channels_and_channels_class_with_professional_names
-
✅ Test 101
📌 Setup phase
duration:
0.000129020307213068outcome:
passed📌 Call phase
duration:
0.001077766064554453outcome:
passed📌 Teardown phase
duration:
0.00012793531641364098outcome:
passed
-
-
📄 test_utils_config.py
↳ Function: test_config_with_nested_and_list_data
-
✅ Test 102
📌 Setup phase
duration:
0.00013006199151277542outcome:
passed📌 Call phase
duration:
0.0006300858221948147outcome:
passed📌 Teardown phase
duration:
0.00011526094749569893outcome:
passed
↳ Function: test_config_with_strange_and_edge_keys
-
✅ Test 103
📌 Setup phase
duration:
0.0001269979402422905outcome:
passed📌 Call phase
duration:
0.0007684109732508659outcome:
passed📌 Teardown phase
duration:
0.00012776022776961327outcome:
passed
-
-
📄 test_utils_cpint.py
↳ Function: test_load_color_variants_all_keys_and_types
-
✅ Test 104
params: base_color="red"📌 Runtime Parameters
params: base_color: red id: red📌 Setup phase
duration:
0.00020761042833328247outcome:
passed📌 Call phase
duration:
0.00021999888122081757outcome:
passed📌 Teardown phase
duration:
0.0001276303082704544outcome:
passed -
✅ Test 105
params: base_color="blue"📌 Runtime Parameters
params: base_color: blue id: blue📌 Setup phase
duration:
0.00018345005810260773outcome:
passed📌 Call phase
duration:
0.00015747500583529472outcome:
passed📌 Teardown phase
duration:
0.0001230807974934578outcome:
passed -
✅ Test 106
params: base_color="yellow"📌 Runtime Parameters
params: base_color: yellow id: yellow📌 Setup phase
duration:
0.00018692621961236outcome:
passed📌 Call phase
duration:
0.00014527421444654465outcome:
passed📌 Teardown phase
duration:
0.00012037297710776329outcome:
passed -
✅ Test 107
params: base_color="green"📌 Runtime Parameters
params: base_color: green id: green📌 Setup phase
duration:
0.00018632272258400917outcome:
passed📌 Call phase
duration:
0.0001485138200223446outcome:
passed📌 Teardown phase
duration:
0.00012646615505218506outcome:
passed -
✅ Test 108
params: base_color="cyan"📌 Runtime Parameters
params: base_color: cyan id: cyan📌 Setup phase
duration:
0.0001883949153125286outcome:
passed📌 Call phase
duration:
0.00014512427151203156outcome:
passed📌 Teardown phase
duration:
0.0001257220283150673outcome:
passed -
✅ Test 109
params: base_color="magenta"📌 Runtime Parameters
params: base_color: magenta id: magenta📌 Setup phase
duration:
0.0001930748112499714outcome:
passed📌 Call phase
duration:
0.00015274062752723694outcome:
passed📌 Teardown phase
duration:
0.00011935504153370857outcome:
passed -
✅ Test 110
params: base_color="white"📌 Runtime Parameters
params: base_color: white id: white📌 Setup phase
duration:
0.00018143700435757637outcome:
passed📌 Call phase
duration:
0.0001645251177251339outcome:
passed📌 Teardown phase
duration:
0.00012416904792189598outcome:
passed -
✅ Test 111
params: base_color="black"📌 Runtime Parameters
params: base_color: black id: black📌 Setup phase
duration:
0.0001798686571419239outcome:
passed📌 Call phase
duration:
0.00015450967475771904outcome:
passed📌 Teardown phase
duration:
0.0001234421506524086outcome:
passed
↳ Function: test_cprint_all_cases_fancy
-
✅ Test 112
params: objects=[["Fancy", "list"], {"a": 7}, null], color_spec=["red", "+"], sep=" | ", expected_flatten="['Fancy', 'list'] | {'a': 7} | None", expected_error=null📌 Runtime Parameters
params: objects: - - Fancy - list - a: 7 - (vide) color_spec: - red - + sep: | expected_flatten: ['Fancy', 'list'] | {'a': 7} | None expected_error: None id: objects0-color_spec0- | -['Fancy', 'list'] | {'a': 7} | None-None📌 Setup phase
duration:
0.0006463918834924698outcome:
passed📌 Call phase
duration:
0.00027492083609104156outcome:
passed📌 Teardown phase
duration:
0.000251248013228178outcome:
passed -
✅ Test 113
params: objects=[{"k": [1, 2]}, 99, ["X", ["Y"]]], color_spec=["blue", "++"], sep=" - ", expected_flatten="{'k': [1, 2]} - 99 - ['X', ['Y']]", expected_error=null📌 Runtime Parameters
params: objects: - k: - 1 - 2 - 99 - - X - - Y color_spec: - blue - ++ sep: - expected_flatten: {'k': [1, 2]} - 99 - ['X', ['Y']] expected_error: None id: objects1-color_spec1- - -{'k': [1, 2]} - 99 - ['X', ['Y']]-None📌 Setup phase
duration:
0.0004896898753941059outcome:
passed📌 Call phase
duration:
0.0002487138845026493outcome:
passed📌 Teardown phase
duration:
0.00025798799470067024outcome:
passed -
✅ Test 114
params: objects=[[], {}, "End"], color_spec=["magenta", "--"], sep=" / ", expected_flatten="[] / {} / End", expected_error=null📌 Runtime Parameters
params: objects: - (vide) - (vide) - End color_spec: - magenta - -- sep: / expected_flatten: [] / {} / End expected_error: None id: objects2-color_spec2- / -[] / {} / End-None📌 Setup phase
duration:
0.00047346390783786774outcome:
passed📌 Call phase
duration:
0.00023483112454414368outcome:
passed📌 Teardown phase
duration:
0.00024975836277008057outcome:
passed -
✅ Test 115
params: objects="", [3, 4, "done", 0], color_spec=["green", ""], sep=";", expected_flatten="['', [3, 4]];done;0", expected_error=null📌 Runtime Parameters
params: objects: - - (vide) - - 3 - 4 - done - (vide) color_spec: - green - (vide) sep: ; expected_flatten: ['', [3, 4]];done;0 expected_error: None id: objects3-color_spec3-;-['', [3, 4]];done;0-None📌 Setup phase
duration:
0.0004718611016869545outcome:
passed📌 Call phase
duration:
0.0002548098564147949outcome:
passed📌 Teardown phase
duration:
0.00024486007168889046outcome:
passed -
✅ Test 116
params: objects=[["alpha", null], ["beta", {}], "stop"], color_spec=["yellow", ""], sep="::", expected_flatten="['alpha', None]::['beta', {}]::stop", expected_error=null📌 Runtime Parameters
params: objects: - - alpha - (vide) - - beta - (vide) - stop color_spec: - yellow - (vide) sep: :: expected_flatten: ['alpha', None]::['beta', {}]::stop expected_error: None id: objects4-color_spec4-::-['alpha', None]::['beta', {}]::stop-None📌 Setup phase
duration:
0.0004979372024536133outcome:
passed📌 Call phase
duration:
0.00023531587794423103outcome:
passed📌 Teardown phase
duration:
0.0002509639598429203outcome:
passed -
✅ Test 117
params: objects="deep", ["deeper", ["deepest"], "X"], color_spec=["cyan", "+"], sep=" ... ", expected_flatten="['deep', ['deeper', ['deepest']]] ... X", expected_error=null📌 Runtime Parameters
params: objects: - - deep - - deeper - - deepest - X color_spec: - cyan - + sep: ... expected_flatten: ['deep', ['deeper', ['deepest']]] ... X expected_error: None id: objects5-color_spec5- ... -['deep', ['deeper', ['deepest']]] ... X-None📌 Setup phase
duration:
0.0004519820213317871outcome:
passed📌 Call phase
duration:
0.00022635236382484436outcome:
passed📌 Teardown phase
duration:
0.00024564098566770554outcome:
passed -
✅ Test 118
params: objects=[{"dict": {"nested": [4, 5]}}, [true, false], 6.28], color_spec=["white", "++"], sep=" // ", expected_flatten="{'dict': {'nested': [4, 5]}} // [True, False] // 6.28", expected_error=null📌 Runtime Parameters
params: objects: - dict: nested: - 4 - 5 - - True - (vide) - 6.28 color_spec: - white - ++ sep: // expected_flatten: {'dict': {'nested': [4, 5]}} // [True, False] // 6.28 expected_error: None id: objects6-color_spec6- // -{'dict': {'nested': [4, 5]}} // [True, False] // 6.28-None📌 Setup phase
duration:
0.0004634973593056202outcome:
passed📌 Call phase
duration:
0.00026685232296586037outcome:
passed📌 Teardown phase
duration:
0.00026539992541074753outcome:
passed -
✅ Test 119
params: objects="A", ["B", "string", "C"], color_spec=["red", "--"], sep="==", expected_flatten="['A', ['B']]==string==C", expected_error=null📌 Runtime Parameters
params: objects: - - A - - B - string - C color_spec: - red - -- sep: == expected_flatten: ['A', ['B']]==string==C expected_error: None id: objects7-color_spec7-==-['A', ['B']]==string==C-None📌 Setup phase
duration:
0.0006087580695748329outcome:
passed📌 Call phase
duration:
0.0002476540394127369outcome:
passed📌 Teardown phase
duration:
0.00026701902970671654outcome:
passed -
✅ Test 120
params: objects="Test", null, [, {"v": 0}], color_spec=["green", "++"], sep=" ++ ", expected_flatten="['Test', None, []] ++ {'v': 0}", expected_error=null📌 Runtime Parameters
params: objects: - - Test - (vide) - (vide) - v: 0 color_spec: - green - ++ sep: ++ expected_flatten: ['Test', None, []] ++ {'v': 0} expected_error: None id: objects8-color_spec8- ++ -['Test', None, []] ++ {'v': 0}-None📌 Setup phase
duration:
0.000510036014020443outcome:
passed📌 Call phase
duration:
0.00023032305762171745outcome:
passed📌 Teardown phase
duration:
0.0002526668831706047outcome:
passed -
✅ Test 121
params: objects=[["no", "color"], "plain"], color_spec=null, sep=";", expected_flatten="['no', 'color'];plain", expected_error=null📌 Runtime Parameters
params: objects: - - no - color - plain color_spec: None sep: ; expected_flatten: ['no', 'color'];plain expected_error: None id: objects9-None-;-['no', 'color'];plain-None📌 Setup phase
duration:
0.0004781121388077736outcome:
passed📌 Call phase
duration:
0.00022407202050089836outcome:
passed📌 Teardown phase
duration:
0.00025960197672247887outcome:
passed -
✅ Test 122
params: objects=[["simple"], "", 12], color_spec=null, sep=" | ", expected_flatten="['simple'] | | 12", expected_error=null📌 Runtime Parameters
params: objects: - - simple - (vide) - 12 color_spec: None sep: | expected_flatten: ['simple'] | | 12 expected_error: None id: objects10-None- | -['simple'] | | 12-None📌 Setup phase
duration:
0.0004802197217941284outcome:
passed📌 Call phase
duration:
0.00020526675507426262outcome:
passed📌 Teardown phase
duration:
0.0002524489536881447outcome:
passed -
✅ Test 123
params: objects=["very", "deep", {"ok": true}], color_spec=null, sep=" : ", expected_flatten="'very', 'deep' : {'ok': True}", expected_error=null📌 Runtime Parameters
params: objects: - - - very - deep - ok: True color_spec: None sep: : expected_flatten: [['very', 'deep']] : {'ok': True} expected_error: None id: objects11-None- : -[['very', 'deep']] : {'ok': True}-None📌 Setup phase
duration:
0.0004772646352648735outcome:
passed📌 Call phase
duration:
0.00021779024973511696outcome:
passed📌 Teardown phase
duration:
0.00024685636162757874outcome:
passed -
✅ Test 124
params: objects=[["fail", "color"], 123], color_spec=["green", "!!"], sep="|", expected_flatten="['fail', 'color']|123", expected_error=""📌 Runtime Parameters
params: objects: - - fail - color - 123 color_spec: - green - !! sep: | expected_flatten: ['fail', 'color']|123 expected_error: <class 'ValueError'> id: objects12-color_spec12-|-['fail', 'color']|123-ValueError📌 Setup phase
duration:
0.0004651998169720173outcome:
passed📌 Call phase
duration:
0.0002489960752427578outcome:
passed📌 Teardown phase
duration:
0.0002517751418054104outcome:
passed -
✅ Test 125
params: objects=[["error"], {}], color_spec=["cyan", "xxx"], sep=" * ", expected_flatten="['error'] * {}", expected_error=""📌 Runtime Parameters
params: objects: - - error - (vide) color_spec: - cyan - xxx sep: * expected_flatten: ['error'] * {} expected_error: <class 'ValueError'> id: objects13-color_spec13- * -['error'] * {}-ValueError📌 Setup phase
duration:
0.0004898570477962494outcome:
passed📌 Call phase
duration:
0.0002402053214609623outcome:
passed📌 Teardown phase
duration:
0.000266294926404953outcome:
passed -
✅ Test 126
params: objects="nope"], ["bad", color_spec=["magenta", "invalid"], sep="//", expected_flatten="['nope']//['bad']", expected_error=""📌 Runtime Parameters
params: objects: - - nope - - bad color_spec: - magenta - invalid sep: // expected_flatten: ['nope']//['bad'] expected_error: <class 'ValueError'> id: objects14-color_spec14-//-['nope']//['bad']-ValueError📌 Setup phase
duration:
0.00045485375449061394outcome:
passed📌 Call phase
duration:
0.0002456572838127613outcome:
passed📌 Teardown phase
duration:
0.0002499883994460106outcome:
passed -
✅ Test 127
params: objects=["wrong", "base"], color_spec=["notacolor", ""], sep="--", expected_flatten="wrong--base", expected_error=""📌 Runtime Parameters
params: objects: - wrong - base color_spec: - notacolor - (vide) sep: -- expected_flatten: wrong--base expected_error: <class 'ValueError'> id: objects15-color_spec15----wrong--base-ValueError📌 Setup phase
duration:
0.0004812590777873993outcome:
passed📌 Call phase
duration:
0.0002374737523496151outcome:
passed📌 Teardown phase
duration:
0.00025431206449866295outcome:
passed
-
-
📄 test_utils_debug.py
↳ Function: test_traceable
-
✅ Test 128
params: cls="", entry=[[10, 20], {}], expected="creating: A(10, 20)"📌 Runtime Parameters
params: cls: <class 'test_utils_debug.A'> entry: - - 10 - 20 - (vide) expected: creating: A(10, 20) id: A-entry0-creating: A(10, 20)📌 Setup phase
duration:
0.0002836231142282486outcome:
passed📌 Call phase
duration:
0.0009836619719862938outcome:
passed📌 Teardown phase
duration:
0.0001734369434416294outcome:
passed -
✅ Test 129
params: cls="", entry=[[10, 20], {"e": 100}], expected="creating: A(10, 20, e=100)"📌 Runtime Parameters
params: cls: <class 'test_utils_debug.A'> entry: - - 10 - 20 - e: 100 expected: creating: A(10, 20, e=100) id: A-entry1-creating: A(10, 20, e=100)📌 Setup phase
duration:
0.00030165910720825195outcome:
passed📌 Call phase
duration:
0.0009781583212316036outcome:
passed📌 Teardown phase
duration:
0.00018703937530517578outcome:
passed -
✅ Test 130
params: cls="", entry="foo", [1, 2, 3, {"flag": true, "data": {"x": 9}}], expected="creating: A('foo', [1, 2, 3], flag=True, data={'x': 9})"📌 Runtime Parameters
params: cls: <class 'test_utils_debug.A'> entry: - - foo - - 1 - 2 - 3 - flag: True data: x: 9 expected: creating: A('foo', [1, 2, 3], flag=True, data={'x': 9}) id: A-entry2-creating: A('foo', [1, 2, 3], flag=True, data={'x': 9})📌 Setup phase
duration:
0.00029656803235411644outcome:
passed📌 Call phase
duration:
0.0008373968303203583outcome:
passed📌 Teardown phase
duration:
0.0001781661994755268outcome:
passed -
✅ Test 131
params: cls="", entry="([CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], {'name': 'test', 'meta': 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'})", expected="creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...)"📌 Runtime Parameters
params: cls: <class 'test_utils_debug.A'> entry: ([CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], {'name': 'test', 'meta': 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'}) expected: creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...) id: A-entry3-creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...)📌 Setup phase
duration:
0.0003009047359228134outcome:
passed📌 Call phase
duration:
0.0008724010549485683outcome:
passed📌 Teardown phase
duration:
0.00018290197476744652outcome:
passed -
✅ Test 132
params: cls="", entry="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", [0, 0, 0, 0, 0, {}], expected="creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0])"📌 Runtime Parameters
params: cls: <class 'test_utils_debug.A'> entry: - - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) expected: creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0]) id: A-entry4-creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0])📌 Setup phase
duration:
0.00030155014246702194outcome:
passed📌 Call phase
duration:
0.0008316999301314354outcome:
passed📌 Teardown phase
duration:
0.00017415685579180717outcome:
passed
↳ Function: test_short_repr
-
✅ Test 133
params: value="abc", cutoff=10, expected="'abc'"📌 Runtime Parameters
params: value: abc cutoff: 10 expected: 'abc' id: abc-10-'abc'📌 Setup phase
duration:
0.00030195992439985275outcome:
passed📌 Call phase
duration:
0.00015208497643470764outcome:
passed📌 Teardown phase
duration:
0.0001577027142047882outcome:
passed -
✅ Test 135
params: value=12345, cutoff=10, expected="12345"📌 Runtime Parameters
params: value: 12345 cutoff: 10 expected: 12345 id: 12345-10-12345📌 Setup phase
duration:
0.00036392873153090477outcome:
passed📌 Call phase
duration:
0.00017075194045901299outcome:
passed📌 Teardown phase
duration:
0.00016493722796440125outcome:
passed -
✅ Test 136
params: value=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], cutoff=15, expected="[0, 0, 0, 0, 0,..."📌 Runtime Parameters
params: value: - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) - (vide) cutoff: 15 expected: [0, 0, 0, 0, 0,... id: value3-15-[0, 0, 0, 0, 0,...📌 Setup phase
duration:
0.000302762258797884outcome:
passed📌 Call phase
duration:
0.000161830335855484outcome:
passed📌 Teardown phase
duration:
0.00016267597675323486outcome:
passed -
✅ Test 137
params: value=null, cutoff=10, expected="None"📌 Runtime Parameters
params: value: None cutoff: 10 expected: None id: None-10-None📌 Setup phase
duration:
0.00026612356305122375outcome:
passed📌 Call phase
duration:
0.00014618271961808205outcome:
passed📌 Teardown phase
duration:
0.00016678683459758759outcome:
passed
-
-
📄 test_utils_dictext.py
↳ Function: test_attrdict_getattr
-
✅ Test 139
params: data={"x": 1, "y": 2}, attr="x", expected=1📌 Runtime Parameters
params: data: x: 1 y: 2 attr: x expected: 1 id: data0-x-1📌 Setup phase
duration:
0.0003168671391904354outcome:
passed📌 Call phase
duration:
0.0001748991198837757outcome:
passed📌 Teardown phase
duration:
0.00016167014837265015outcome:
passed -
✅ Test 140
params: data={"world": "ok"}, attr="world", expected="ok"📌 Runtime Parameters
params: data: world: ok attr: world expected: ok id: data1-world-ok📌 Setup phase
duration:
0.0002622702158987522outcome:
passed📌 Call phase
duration:
0.00014336500316858292outcome:
passed📌 Teardown phase
duration:
0.00015648920089006424outcome:
passed -
✅ Test 141
params: data={"outer": {"inner": 42}}, attr="outer", expected={"inner": 42}📌 Runtime Parameters
params: data: outer: inner: 42 attr: outer expected: inner: 42 id: data2-outer-expected2📌 Setup phase
duration:
0.0002897311933338642outcome:
passed📌 Call phase
duration:
0.000145613681524992outcome:
passed📌 Teardown phase
duration:
0.0001531839370727539outcome:
passed
↳ Function: test_attrdict_setattr
-
✅ Test 142
params: initial={}, attr="nouveau", value=123📌 Runtime Parameters
params: initial: {} attr: nouveau value: 123 id: initial0-nouveau-123📌 Setup phase
duration:
0.0002685803920030594outcome:
passed📌 Call phase
duration:
0.00018679210916161537outcome:
passed📌 Teardown phase
duration:
0.00017527397722005844outcome:
passed -
✅ Test 143
params: initial={"a": 1}, attr="b", value="valeur"📌 Runtime Parameters
params: initial: a: 1 attr: b value: valeur id: initial1-b-valeur📌 Setup phase
duration:
0.0002689887769520283outcome:
passed📌 Call phase
duration:
0.0001410529948771outcome:
passed📌 Teardown phase
duration:
0.0001539001241326332outcome:
passed
↳ Function: test_attrdict_delattr
-
✅ Test 144
params: initial={"a": 1, "b": 2}, to_del="a", expected_keys=["b"]📌 Runtime Parameters
params: initial: a: 1 b: 2 to_del: a expected_keys: - b id: initial0-a-expected_keys0📌 Setup phase
duration:
0.00026256684213876724outcome:
passed📌 Call phase
duration:
0.00020125089213252068outcome:
passed📌 Teardown phase
duration:
0.00015567010268568993outcome:
passed -
✅ Test 145
params: initial={"k": "v"}, to_del="k", expected_keys=[]📌 Runtime Parameters
params: initial: k: v to_del: k expected_keys: [] id: initial1-k-expected_keys1📌 Setup phase
duration:
0.0002697496674954891outcome:
passed📌 Call phase
duration:
0.0001767696812748909outcome:
passed📌 Teardown phase
duration:
0.00016798311844468117outcome:
passed
↳ Function: test_attrdict_dir
-
✅ Test 146
params: data={"alpha": 1, "beta": 2}, expected_keys="{'beta', 'alpha'}"📌 Runtime Parameters
params: data: alpha: 1 beta: 2 expected_keys: {'beta', 'alpha'} id: data0-expected_keys0📌 Setup phase
duration:
0.0002389838919043541outcome:
passed📌 Call phase
duration:
0.00014141015708446503outcome:
passed📌 Teardown phase
duration:
0.0001432620920240879outcome:
passed -
✅ Test 147
params: data={}, expected_keys="set()"📌 Runtime Parameters
params: data: {} expected_keys: set() id: data1-expected_keys1📌 Setup phase
duration:
0.0002253982238471508outcome:
passed📌 Call phase
duration:
0.0001675640232861042outcome:
passed📌 Teardown phase
duration:
0.00013522524386644363outcome:
passed
↳ Function: test_attrdict_getattr_and_missing
-
✅ Test 148
params: data={"x": 1, "y": 2}, attr="x", expect_value=1, expect_error=null📌 Runtime Parameters
params: data: x: 1 y: 2 attr: x expect_value: 1 expect_error: None id: data0-x-1-None📌 Setup phase
duration:
0.00030683306977152824outcome:
passed📌 Call phase
duration:
0.00014261016622185707outcome:
passed📌 Teardown phase
duration:
0.00016863970085978508outcome:
passed -
✅ Test 149
params: data={"number": 42}, attr="missing", expect_value=null, expect_error="'MyDict' object has no attribute 'missing'"📌 Runtime Parameters
params: data: number: 42 attr: missing expect_value: None expect_error: 'MyDict' object has no attribute 'missing' id: data1-missing-None-'MyDict' object has no attribute 'missing'📌 Setup phase
duration:
0.0002966909669339657outcome:
passed📌 Call phase
duration:
0.00019921595230698586outcome:
passed📌 Teardown phase
duration:
0.00017646513879299164outcome:
passed
↳ Function: test_dictupdatemixin_init_and_update
-
✅ Test 150
params: init_kwargs={"a": 1, "b": 2}, other=null, kwargs={}, expected={"a": 1, "b": 2}📌 Runtime Parameters
params: init_kwargs: a: 1 b: 2 other: None kwargs: {} expected: a: 1 b: 2 id: init_kwargs0-None-kwargs0-expected0📌 Setup phase
duration:
0.00033269310370087624outcome:
passed📌 Call phase
duration:
0.00015872903168201447outcome:
passed📌 Teardown phase
duration:
0.00016957568004727364outcome:
passed -
✅ Test 151
params: init_kwargs={}, other={"x": 10, "y": 20}, kwargs={}, expected={"x": 10, "y": 20}📌 Runtime Parameters
params: init_kwargs: {} other: x: 10 y: 20 kwargs: {} expected: x: 10 y: 20 id: init_kwargs1-other1-kwargs1-expected1📌 Setup phase
duration:
0.00030739791691303253outcome:
passed📌 Call phase
duration:
0.00015796301886439323outcome:
passed📌 Teardown phase
duration:
0.00017082598060369492outcome:
passed -
✅ Test 152
params: init_kwargs={"world": "ok"}, other={"number": 42}, kwargs={"num2": 100}, expected={"world": "ok", "number": 42, "num2": 100}📌 Runtime Parameters
params: init_kwargs: world: ok other: number: 42 kwargs: num2: 100 expected: world: ok number: 42 num2: 100 id: init_kwargs2-other2-kwargs2-expected2📌 Setup phase
duration:
0.00030648335814476013outcome:
passed📌 Call phase
duration:
0.00014760391786694527outcome:
passed📌 Teardown phase
duration:
0.00017398595809936523outcome:
passed -
✅ Test 153
params: init_kwargs={}, other=null, kwargs={"alpha": "beta"}, expected={"alpha": "beta"}📌 Runtime Parameters
params: init_kwargs: {} other: None kwargs: alpha: beta expected: alpha: beta id: init_kwargs3-None-kwargs3-expected3📌 Setup phase
duration:
0.00030674831941723824outcome:
passed📌 Call phase
duration:
0.00015750713646411896outcome:
passed📌 Teardown phase
duration:
0.00016609299927949905outcome:
passed -
✅ Test 154
params: init_kwargs={}, other={"key": "value"}, kwargs={"extra": 1}, expected={"key": "value", "extra": 1}📌 Runtime Parameters
params: init_kwargs: {} other: key: value kwargs: extra: 1 expected: key: value extra: 1 id: init_kwargs4-other4-kwargs4-expected4📌 Setup phase
duration:
0.0003333962522447109outcome:
passed📌 Call phase
duration:
0.00015403097495436668outcome:
passed📌 Teardown phase
duration:
0.00017374800518155098outcome:
passed -
✅ Test 155
params: init_kwargs={}, other="key", "value"], ["list", [5, 6], kwargs={"extra": {"subkey": 123}}, expected={"key": "value", "list": [5, 6], "extra": {"subkey": 123}}📌 Runtime Parameters
params: init_kwargs: {} other: - - key - value - - list - - 5 - 6 kwargs: extra: subkey: 123 expected: key: value list: - 5 - 6 extra: subkey: 123 id: init_kwargs5-other5-kwargs5-expected5📌 Setup phase
duration:
0.0003078589215874672outcome:
passed📌 Call phase
duration:
0.00028605991974473outcome:
passed📌 Teardown phase
duration:
0.0001881299540400505outcome:
passed
-
-
📄 test_utils_dotdir.py
↳ Function: test_dotdir_creation_and_base_exists
-
✅ Test 156
📌 Setup phase
duration:
0.0016207550652325153outcome:
passed📌 Call phase
duration:
0.0002670940011739731outcome:
passed📌 Teardown phase
duration:
0.00021856511011719704outcome:
passed
↳ Function: test_dotdir_repr_returns_path_str
-
✅ Test 157
📌 Setup phase
duration:
0.000634149182587862outcome:
passed📌 Call phase
duration:
0.00023156870156526566outcome:
passed📌 Teardown phase
duration:
0.0002132677473127842outcome:
passed
↳ Function: test_dotdir_call
-
✅ Test 158
📌 Setup phase
duration:
0.0006385697051882744outcome:
passed📌 Call phase
duration:
0.00024937093257904053outcome:
passed📌 Teardown phase
duration:
0.00020539434626698494outcome:
passed
-
-
📄 test_utils_elog.py
↳ Function: test_get_default_elog_instance_with_direct_password_and_real_check
-
✅ Test 160
📌 Setup phase
duration:
0.0001469990238547325outcome:
passed📌 Call phase
duration:
0.009859861806035042outcome:
passed📌 Teardown phase
duration:
0.0001758318394422531outcome:
passed
↳ Function: test_get_default_elog_instance_asks_password_and_opens
-
✅ Test 161
📌 Setup phase
duration:
0.00017761113122105598outcome:
passed📌 Call phase
duration:
0.009862116072326899outcome:
passed📌 Teardown phase
duration:
0.00016594817861914635outcome:
passed
↳ Function: test_get_default_elog_with_path_home
-
✅ Test 162
📌 Setup phase
duration:
0.0001608007587492466outcome:
passed📌 Call phase
duration:
0.010141402017325163outcome:
passed📌 Teardown phase
duration:
0.00017398875206708908outcome:
passed
-
-
📄 test_utils_eval.py
↳ Function: test_arithmetic_eval_valid
-
✅ Test 165
params: expr="1 + 2", expected=3📌 Runtime Parameters
params: expr: 1 + 2 expected: 3 id: 1 + 2-3📌 Setup phase
duration:
0.0004311208613216877outcome:
passed📌 Call phase
duration:
0.000227286946028471outcome:
passed📌 Teardown phase
duration:
0.00019511627033352852outcome:
passed -
✅ Test 166
params: expr="4 - 2", expected=2📌 Runtime Parameters
params: expr: 4 - 2 expected: 2 id: 4 - 2-2📌 Setup phase
duration:
0.0002497490495443344outcome:
passed📌 Call phase
duration:
0.00016380008310079575outcome:
passed📌 Teardown phase
duration:
0.00015382282435894012outcome:
passed -
✅ Test 167
params: expr="3 * 5", expected=15📌 Runtime Parameters
params: expr: 3 * 5 expected: 15 id: 3 * 5-15📌 Setup phase
duration:
0.00022784434258937836outcome:
passed📌 Call phase
duration:
0.0001657647080719471outcome:
passed📌 Teardown phase
duration:
0.00014038383960723877outcome:
passed -
✅ Test 168
params: expr="10 / 2", expected=5.0📌 Runtime Parameters
params: expr: 10 / 2 expected: 5.0 id: 10 / 2-5.0📌 Setup phase
duration:
0.0002497797831892967outcome:
passed📌 Call phase
duration:
0.00016363570466637611outcome:
passed📌 Teardown phase
duration:
0.00014938879758119583outcome:
passed -
✅ Test 169
params: expr="10 % 3", expected=1📌 Runtime Parameters
params: expr: 10 % 3 expected: 1 id: 10 % 3-1📌 Setup phase
duration:
0.00023872684687376022outcome:
passed📌 Call phase
duration:
0.00015458371490240097outcome:
passed📌 Teardown phase
duration:
0.00014778971672058105outcome:
passed -
✅ Test 170
params: expr="-5", expected=-5📌 Runtime Parameters
params: expr: -5 expected: -5 id: -5--5�� Setup phase
duration:
0.00023052096366882324outcome:
passed📌 Call phase
duration:
0.0001552710309624672outcome:
passed📌 Teardown phase
duration:
0.0001401146873831749outcome:
passed -
✅ Test 171
params: expr="+7", expected=7📌 Runtime Parameters
params: expr: +7 expected: 7 id: +7-7📌 Setup phase
duration:
0.000227395910769701outcome:
passed📌 Call phase
duration:
0.00015862612053751945outcome:
passed📌 Teardown phase
duration:
0.00016159610822796822outcome:
passed -
✅ Test 172
params: expr="1 + 2 * 3", expected=7📌 Runtime Parameters
params: expr: 1 + 2 * 3 expected: 7 id: 1 + 2 * 3-7📌 Setup phase
duration:
0.00022534513846039772outcome:
passed📌 Call phase
duration:
0.00016743922606110573outcome:
passed📌 Teardown phase
duration:
0.00014653010293841362outcome:
passed -
✅ Test 173
params: expr="(1 + 2) * 3", expected=9📌 Runtime Parameters
params: expr: (1 + 2) * 3 expected: 9 id: (1 + 2) * 3-9📌 Setup phase
duration:
0.000221986323595047outcome:
passed📌 Call phase
duration:
0.0001865648664534092outcome:
passed📌 Teardown phase
duration:
0.00014272378757596016outcome:
passed -
✅ Test 174
params: expr="-(-3)", expected=3📌 Runtime Parameters
params: expr: -(-3) expected: 3 id: -(-3)-3📌 Setup phase
duration:
0.00022271601483225822outcome:
passed📌 Call phase
duration:
0.00016270531341433525outcome:
passed📌 Teardown phase
duration:
0.00022102100774645805outcome:
passed -
✅ Test 175
params: expr="-2 + 4 * 2", expected=6📌 Runtime Parameters
params: expr: -2 + 4 * 2 expected: 6 id: -2 + 4 * 2-6📌 Setup phase
duration:
0.0002459278330206871outcome:
passed📌 Call phase
duration:
0.00017269793897867203outcome:
passed📌 Teardown phase
duration:
0.0001669018529355526outcome:
passed -
✅ Test 176
params: expr="(4 + 5) * (6 - 1)", expected=45📌 Runtime Parameters
params: expr: (4 + 5) * (6 - 1) expected: 45 id: (4 + 5) * (6 - 1)-45📌 Setup phase
duration:
0.0002194228582084179outcome:
passed📌 Call phase
duration:
0.00017395708709955215outcome:
passed📌 Teardown phase
duration:
0.0001492612063884735outcome:
passed -
✅ Test 177
params: expr="(((3)))", expected=3📌 Runtime Parameters
params: expr: (((3))) expected: 3 id: (((3)))-3📌 Setup phase
duration:
0.000229609664529562outcome:
passed📌 Call phase
duration:
0.00015009799972176552outcome:
passed📌 Teardown phase
duration:
0.00014028232544660568outcome:
passed -
✅ Test 178
params: expr="-(-(-2))", expected=-2📌 Runtime Parameters
params: expr: -(-(-2)) expected: -2 id: -(-(-2))--2📌 Setup phase
duration:
0.0002259570173919201outcome:
passed📌 Call phase
duration:
0.00021695299074053764outcome:
passed📌 Teardown phase
duration:
0.00014407513663172722outcome:
passed -
✅ Test 179
params: expr="3 + +4", expected=7📌 Runtime Parameters
params: expr: 3 + +4 expected: 7 id: 3 + +4-7📌 Setup phase
duration:
0.00023003015667200089outcome:
passed📌 Call phase
duration:
0.00015951599925756454outcome:
passed📌 Teardown phase
duration:
0.00014537200331687927outcome:
passed -
✅ Test 180
params: expr="3 + -4", expected=-1📌 Runtime Parameters
params: expr: 3 + -4 expected: -1 id: 3 + -4--1📌 Setup phase
duration:
0.00026539387181401253outcome:
passed📌 Call phase
duration:
0.00020628003403544426outcome:
passed📌 Teardown phase
duration:
0.00013996940106153488outcome:
passed -
✅ Test 181
params: expr="True + 1", expected=2📌 Runtime Parameters
params: expr: True + 1 expected: 2 id: True + 1-2📌 Setup phase
duration:
0.0002317097969353199outcome:
passed📌 Call phase
duration:
0.0001638089306652546outcome:
passed📌 Teardown phase
duration:
0.00016202358528971672outcome:
passed -
✅ Test 182
params: expr="'string'", expected="string"📌 Runtime Parameters
params: expr: 'string' expected: string id: 'string'-string📌 Setup phase
duration:
0.00021587498486042023outcome:
passed📌 Call phase
duration:
0.00015139393508434296outcome:
passed📌 Teardown phase
duration:
0.00014865491539239883outcome:
passed -
✅ Test 183
params: expr="1e1000 * 1e1000", expected=Infinity📌 Runtime Parameters
params: expr: 1e1000 * 1e1000 expected: inf id: 1e1000 * 1e1000-inf📌 Setup phase
duration:
0.0002215048298239708outcome:
passed📌 Call phase
duration:
0.00017579412087798119outcome:
passed📌 Teardown phase
duration:
0.0001498148776590824outcome:
passed -
✅ Test 184
params: expr="'a' + 'b'", expected="ab"📌 Runtime Parameters
params: expr: 'a' + 'b' expected: ab id: 'a' + 'b'-ab📌 Setup phase
duration:
0.00022574607282876968outcome:
passed📌 Call phase
duration:
0.00016748439520597458outcome:
passed📌 Teardown phase
duration:
0.0001383391208946705outcome:
passed
↳ Function: test_arithmetic_eval_raises_with_message
-
✅ Test 185
params: expr="2 ** 3", expected_message="Unsupported BinOp Pow"📌 Runtime Parameters
params: expr: 2 ** 3 expected_message: Unsupported BinOp Pow id: 2 ** 3-Unsupported BinOp Pow📌 Setup phase
duration:
0.00023762788623571396outcome:
passed📌 Call phase
duration:
0.00043492391705513outcome:
passed📌 Teardown phase
duration:
0.00015298416838049889outcome:
passed -
✅ Test 186
params: expr="3 << 1", expected_message="Unsupported BinOp LShift"📌 Runtime Parameters
params: expr: 3 << 1 expected_message: Unsupported BinOp LShift id: 3 << 1-Unsupported BinOp LShift📌 Setup phase
duration:
0.0002328590489923954outcome:
passed📌 Call phase
duration:
0.00036762189120054245outcome:
passed📌 Teardown phase
duration:
0.00014697806909680367outcome:
passed -
✅ Test 187
params: expr="1 < 2", expected_message="Unsupported node type Compare"📌 Runtime Parameters
params: expr: 1 < 2 expected_message: Unsupported node type Compare id: 1 < 2-Unsupported node type Compare📌 Setup phase
duration:
0.00022734981030225754outcome:
passed📌 Call phase
duration:
0.00037581194192171097outcome:
passed📌 Teardown phase
duration:
0.00014473916962742805outcome:
passed -
✅ Test 188
params: expr="abs(3)", expected_message="Unsupported node type Call"📌 Runtime Parameters
params: expr: abs(3) expected_message: Unsupported node type Call id: abs(3)-Unsupported node type Call📌 Setup phase
duration:
0.00025492487475275993outcome:
passed📌 Call phase
duration:
0.00034196488559246063outcome:
passed📌 Teardown phase
duration:
0.00016684876754879951outcome:
passed -
✅ Test 189
params: expr="a + 2", expected_message="Unsupported node type Name"📌 Runtime Parameters
params: expr: a + 2 expected_message: Unsupported node type Name id: a + 2-Unsupported node type Name📌 Setup phase
duration:
0.00022227689623832703outcome:
passed📌 Call phase
duration:
0.000361831858754158outcome:
passed📌 Teardown phase
duration:
0.00014578504487872124outcome:
passed -
✅ Test 190
params: expr="string", expected_message="Unsupported node type Name"📌 Runtime Parameters
params: expr: string expected_message: Unsupported node type Name id: string-Unsupported node type Name📌 Setup phase
duration:
0.00023046787828207016outcome:
passed📌 Call phase
duration:
0.0003084312193095684outcome:
passed📌 Teardown phase
duration:
0.00014698784798383713outcome:
passed -
✅ Test 191
params: expr="[1, 2] + [3]", expected_message="Unsupported node type List"📌 Runtime Parameters
params: expr: [1, 2] + [3] expected_message: Unsupported node type List id: [1, 2] + [3]-Unsupported node type List📌 Setup phase
duration:
0.0002460530959069729outcome:
passed📌 Call phase
duration:
0.00034696003422141075outcome:
passed📌 Teardown phase
duration:
0.0001658853143453598outcome:
passed -
✅ Test 192
params: expr="{1: 2}", expected_message="Unsupported node type Dict"📌 Runtime Parameters
params: expr: {1: 2} expected_message: Unsupported node type Dict id: {1: 2}-Unsupported node type Dict📌 Setup phase
duration:
0.00022907694801688194outcome:
passed📌 Call phase
duration:
0.0003589857369661331outcome:
passed📌 Teardown phase
duration:
0.00014644302427768707outcome:
passed
↳ Function: test_arithmetic_eval_runtime_errors
-
✅ Test 193
params: expr="1 / 0", exception=""📌 Runtime Parameters
params: expr: 1 / 0 exception: <class 'ZeroDivisionError'> id: 1 / 0-ZeroDivisionError📌 Setup phase
duration:
0.00022115791216492653outcome:
passed📌 Call phase
duration:
0.00018288986757397652outcome:
passed📌 Teardown phase
duration:
0.00014816410839557648outcome:
passed -
✅ Test 194
params: expr="10 % 0", exception=""📌 Runtime Parameters
params: expr: 10 % 0 exception: <class 'ZeroDivisionError'> id: 10 % 0-ZeroDivisionError📌 Setup phase
duration:
0.00024128612130880356outcome:
passed📌 Call phase
duration:
0.0001776297576725483outcome:
passed📌 Teardown phase
duration:
0.00013836799189448357outcome:
passed
↳ Function: test_forgiving_eval
-
✅ Test 195
params: expr="1 + 2", expected=3📌 Runtime Parameters
params: expr: 1 + 2 expected: 3 id: 1 + 2-3📌 Setup phase
duration:
0.00023544393479824066outcome:
passed📌 Call phase
duration:
0.00016268109902739525outcome:
passed📌 Teardown phase
duration:
0.00014088023453950882outcome:
passed -
✅ Test 196
params: expr="bad + 2", expected="bad + 2"📌 Runtime Parameters
params: expr: bad + 2 expected: bad + 2 id: bad + 2-bad + 2📌 Setup phase
duration:
0.00024311570450663567outcome:
passed📌 Call phase
duration:
0.00017855875194072723outcome:
passed📌 Teardown phase
duration:
0.0001684902235865593outcome:
passed -
✅ Test 197
params: expr="1 / 0", expected="1 / 0"📌 Runtime Parameters
params: expr: 1 / 0 expected: 1 / 0 id: 1 / 0-1 / 0📌 Setup phase
duration:
0.00022494280710816383outcome:
passed📌 Call phase
duration:
0.0001613069325685501outcome:
passed📌 Teardown phase
duration:
0.00015340512618422508outcome:
passed -
✅ Test 198
params: expr="2 ** 10", expected="2 ** 10"📌 Runtime Parameters
params: expr: 2 ** 10 expected: 2 ** 10 id: 2 ** 10-2 ** 10📌 Setup phase
duration:
0.0002148561179637909outcome:
passed📌 Call phase
duration:
0.00018353108316659927outcome:
passed📌 Teardown phase
duration:
0.00014082202687859535outcome:
passed
↳ Function: test_defaulting_eval
-
✅ Test 199
params: expr="3 * 4", default=0, expected=12📌 Runtime Parameters
params: expr: 3 * 4 default: 0 expected: 12 id: 3 * 4-0-12📌 Setup phase
duration:
0.00026888493448495865outcome:
passed📌 Call phase
duration:
0.00016796309500932693outcome:
passed📌 Teardown phase
duration:
0.0001572389155626297outcome:
passed -
✅ Test 200
params: expr="invalid + 1", default=99, expected=99📌 Runtime Parameters
params: expr: invalid + 1 default: 99 expected: 99 id: invalid + 1-99-99📌 Setup phase
duration:
0.0003092838451266289outcome:
passed📌 Call phase
duration:
0.00018255086615681648outcome:
passed📌 Teardown phase
duration:
0.00016144989058375359outcome:
passed -
✅ Test 201
params: expr="1 / 0", default=-1, expected=-1📌 Runtime Parameters
params: expr: 1 / 0 default: -1 expected: -1 id: 1 / 0--1--1📌 Setup phase
duration:
0.00027150334790349007outcome:
passed📌 Call phase
duration:
0.00016101403161883354outcome:
passed📌 Teardown phase
duration:
0.00017903512343764305outcome:
passed -
✅ Test 202
params: expr="2 ** 10", default=42, expected=42📌 Runtime Parameters
params: expr: 2 ** 10 default: 42 expected: 42 id: 2 ** 10-42-42📌 Setup phase
duration:
0.0002639736048877239outcome:
passed📌 Call phase
duration:
0.00015815114602446556outcome:
passed📌 Teardown phase
duration:
0.0001640627160668373outcome:
passed
-
-
📄 test_utils_exceptions.py
↳ Function: test_chained_exception_various
-
✅ Test 203
params: func="", expected_output="High-level task failed\ncaused by KeyError: 'missing'"📌 Runtime Parameters
params: func: <function cause_key_error at 0x7f30ab5d1d30> expected_output: High-level task failed caused by KeyError: 'missing' id: cause_key_error-High-level task failed\ncaused by KeyError: 'missing'📌 Setup phase
duration:
0.00026634475216269493outcome:
passed📌 Call phase
duration:
0.00017058523371815681outcome:
passed📌 Teardown phase
duration:
0.00014800112694501877outcome:
passed -
✅ Test 204
params: func="", expected_output="High-level task failed\ncaused by IndexError: list index out of range"📌 Runtime Parameters
params: func: <function cause_index_error at 0x7f30ab5d1e50> expected_output: High-level task failed caused by IndexError: list index out of range id: cause_index_error-High-level task failed\ncaused by IndexError: list index out of range📌 Setup phase
duration:
0.0002564946189522743outcome:
passed📌 Call phase
duration:
0.0001512458547949791outcome:
passed📌 Teardown phase
duration:
0.00013783900067210197outcome:
passed -
✅ Test 205
params: func="", expected_output="High-level task failed\ncaused by ZeroDivisionError: division by zero"📌 Runtime Parameters
params: func: <function cause_zero_division at 0x7f30ab5d1ee0> expected_output: High-level task failed caused by ZeroDivisionError: division by zero id: cause_zero_division-High-level task failed\ncaused by ZeroDivisionError: division by zero📌 Setup phase
duration:
0.0002210787497460842outcome:
passed📌 Call phase
duration:
0.0001482851803302765outcome:
passed📌 Teardown phase
duration:
0.0001376955769956112outcome:
passed -
✅ Test 206
params: func="", expected_output="High-level task failed\ncaused by ValueError: invalid literal for int() with base 10: 'not_a_number'"📌 Runtime Parameters
params: func: <function cause_value_error at 0x7f30ab5d1f70> expected_output: High-level task failed caused by ValueError: invalid literal for int() with base 10: 'not_a_number' id: cause_value_error-High-level task failed\ncaused by ValueError: invalid literal for int() with base 10: 'not_a_number'📌 Setup phase
duration:
0.00021928595378994942outcome:
passed📌 Call phase
duration:
0.0001460900530219078outcome:
passed📌 Teardown phase
duration:
0.0001565716229379177outcome:
passed -
✅ Test 207
params: func="", expected_output="High-level task failed\ncaused by TypeError: can only concatenate str (not \"int\") to str"📌 Runtime Parameters
params: func: <function cause_type_error at 0x7f30ab7b5040> expected_output: High-level task failed caused by TypeError: can only concatenate str (not "int") to str id: cause_type_error-High-level task failed\ncaused by TypeError: can only concatenate str (not "int") to str📌 Setup phase
duration:
0.00024122605100274086outcome:
passed📌 Call phase
duration:
0.00015250686556100845outcome:
passed📌 Teardown phase
duration:
0.0001467210240662098outcome:
passed
↳ Function: test_printed_exception
-
✅ Test 208
params: func="", expected_output="KeyError: 'missing'"📌 Runtime Parameters
params: func: <function cause_key_error at 0x7f30ab5d1d30> expected_output: KeyError: 'missing' id: cause_key_error-KeyError: 'missing'📌 Setup phase
duration:
0.0008608940988779068outcome:
passed📌 Call phase
duration:
0.0010813279077410698outcome:
passed📌 Teardown phase
duration:
0.0004708636552095413outcome:
passed -
✅ Test 209
params: func="", expected_output="IndexError: list index out of range"📌 Runtime Parameters
params: func: <function cause_index_error at 0x7f30ab5d1e50> expected_output: IndexError: list index out of range id: cause_index_error-IndexError: list index out of range📌 Setup phase
duration:
0.0006046048365533352outcome:
passed📌 Call phase
duration:
0.0008273371495306492outcome:
passed📌 Teardown phase
duration:
0.00045029865577816963outcome:
passed -
✅ Test 210
params: func="", expected_output="ZeroDivisionError: division by zero"📌 Runtime Parameters
params: func: <function cause_zero_division at 0x7f30ab5d1ee0> expected_output: ZeroDivisionError: division by zero id: cause_zero_division-ZeroDivisionError: division by zero📌 Setup phase
duration:
0.0005599469877779484outcome:
passed📌 Call phase
duration:
0.0008449498564004898outcome:
passed📌 Teardown phase
duration:
0.00043531879782676697outcome:
passed -
✅ Test 211
params: func="", expected_output="ValueError: invalid literal for int() with base 10: 'not_a_number'"📌 Runtime Parameters
params: func: <function cause_value_error at 0x7f30ab5d1f70> expected_output: ValueError: invalid literal for int() with base 10: 'not_a_number' id: cause_value_error-ValueError: invalid literal for int() with base 10: 'not_a_number'📌 Setup phase
duration:
0.0005623907782137394outcome:
passed📌 Call phase
duration:
0.0008396711200475693outcome:
passed📌 Teardown phase
duration:
0.000440903939306736outcome:
passed -
✅ Test 212
params: func="", expected_output="TypeError: can only concatenate str (not \"int\") to str"📌 Runtime Parameters
params: func: <function cause_type_error at 0x7f30ab7b5040> expected_output: TypeError: can only concatenate str (not "int") to str id: cause_type_error-TypeError: can only concatenate str (not "int") to str📌 Setup phase
duration:
0.0005675451830029488outcome:
passed📌 Call phase
duration:
0.00101047707721591outcome:
passed📌 Teardown phase
duration:
0.0004467703402042389outcome:
passed
-
-
📄 test_utils_get_adj.py
↳ Function: test_get_adj_success
-
✅ Test 213
📌 Setup phase
duration:
0.00012933602556586266outcome:
passed📌 Call phase
duration:
0.000966452993452549outcome:
passed📌 Teardown phase
duration:
0.00012244703248143196outcome:
passed
↳ Function: test_get_adj_not_found
-
✅ Test 214
📌 Setup phase
duration:
0.0004977467469871044outcome:
passed📌 Call phase
duration:
0.0010287980549037457outcome:
passed📌 Teardown phase
duration:
0.00039836810901761055outcome:
passed
↳ Function: test_ensure_adjs_mixed
-
✅ Test 215
📌 Setup phase
duration:
0.00014884304255247116outcome:
passed📌 Call phase
duration:
0.0007421448826789856outcome:
passed📌 Teardown phase
duration:
0.0001170760951936245outcome:
passed
↳ Function: test_get_adjs_filter
-
✅ Test 216
📌 Setup phase
duration:
0.00011340808123350143outcome:
passed📌 Call phase
duration:
0.0009017153643071651outcome:
passed📌 Teardown phase
duration:
0.00016112299636006355outcome:
passed
-
-
📄 test_utils_hastyepics.py
↳ Function: test_motor_invalid_name_raises
-
✅ Test 219
📌 Setup phase
duration:
0.0001411731354892254outcome:
passed📌 Call phase
duration:
0.0002850862219929695outcome:
passed📌 Teardown phase
duration:
0.00011755991727113724outcome:
passed
↳ Function: test_motor_init_list_has_no_disabled
-
✅ Test 220
📌 Setup phase
duration:
0.00013231812044978142outcome:
passed📌 Call phase
duration:
0.00015601888298988342outcome:
passed📌 Teardown phase
duration:
0.00011284835636615753outcome:
passed
↳ Function: test_motor_pv_connection_skipped_by_default
-
✅ Test 222
📌 Setup phase
duration:
0.00013413699343800545outcome:
passed📌 Call phase
duration:
0.00040185917168855667outcome:
passed📌 Teardown phase
duration:
0.00011833617463707924outcome:
passed
↳ Function: test_motor_adds_all_extras_pvs
-
✅ Test 223
📌 Setup phase
duration:
0.00012978166341781616outcome:
passed📌 Call phase
duration:
0.0003490932285785675outcome:
passed📌 Teardown phase
duration:
0.00010976893827319145outcome:
passed
↳ Function: test_motor_PV_method_exists_and_works
-
✅ Test 224
📌 Setup phase
duration:
0.00010981503874063492outcome:
passed📌 Call phase
duration:
0.0003486550413072109outcome:
passed📌 Teardown phase
duration:
0.00012714508920907974outcome:
passed
-
-
📄 test_utils_ipy.py
↳ Function: test_devices_repr_fallback_and_ignore
-
✅ Test 225
📌 Setup phase
duration:
0.0008498160168528557outcome:
passed📌 Call phase
duration:
0.0009332327172160149outcome:
passed📌 Teardown phase
duration:
0.00027600955218076706outcome:
passed
-
-
📄 test_utils_jsonext.py
↳ Function: test_json_validate_save_load
-
✅ Test 226
params: input_obj="[1 2 3]", expected=[1, 2, 3]📌 Runtime Parameters
params: input_obj: [1 2 3] expected: - 1 - 2 - 3 id: input_obj0-expected0📌 Setup phase
duration:
0.0009930101223289967outcome:
passed📌 Call phase
duration:
0.0007491861470043659outcome:
passed📌 Teardown phase
duration:
0.0002223290503025055outcome:
passed -
✅ Test 227
params: input_obj="42", expected=42📌 Runtime Parameters
params: input_obj: 42 expected: 42 id: input_obj1-42📌 Setup phase
duration:
0.0007589720189571381outcome:
passed📌 Call phase
duration:
0.00043565966188907623outcome:
passed📌 Teardown phase
duration:
0.00018192175775766373outcome:
passed -
✅ Test 228
params: input_obj="(1-1j)", expected={"real": 1.0, "imag": -1.0}📌 Runtime Parameters
params: input_obj: (1-1j) expected: real: 1.0 imag: -1.0 id: (1-1j)-expected2📌 Setup phase
duration:
0.0006612129509449005outcome:
passed📌 Call phase
duration:
0.0004254099912941456outcome:
passed📌 Teardown phase
duration:
0.00018023326992988586outcome:
passed -
✅ Test 229
params: input_obj="/tmp/file.txt", expected="/tmp/file.txt"📌 Runtime Parameters
params: input_obj: /tmp/file.txt expected: /tmp/file.txt id: input_obj3-/tmp/file.txt📌 Setup phase
duration:
0.0006329240277409554outcome:
passed📌 Call phase
duration:
0.00039960071444511414outcome:
passed📌 Teardown phase
duration:
0.0001842966303229332outcome:
passed -
✅ Test 230
params: input_obj="{1, 2, 3}", expected=[1, 2, 3]📌 Runtime Parameters
params: input_obj: {1, 2, 3} expected: - 1 - 2 - 3 id: input_obj4-expected4📌 Setup phase
duration:
0.0006335270591080189outcome:
passed📌 Call phase
duration:
0.00039099203422665596outcome:
passed📌 Teardown phase
duration:
0.0002236352302134037outcome:
passed -
✅ Test 231
params: input_obj="{'a': array([10, 20])}", expected={"a": [10, 20]}📌 Runtime Parameters
params: input_obj: {'a': array([10, 20])} expected: a: - 10 - 20 id: input_obj5-expected5📌 Setup phase
duration:
0.0005941721610724926outcome:
passed📌 Call phase
duration:
0.0003885570913553238outcome:
passed📌 Teardown phase
duration:
0.00020377477630972862outcome:
passed -
✅ Test 232
params: input_obj="{'c': (2+3j)}", expected={"c": {"real": 2.0, "imag": 3.0}}📌 Runtime Parameters
params: input_obj: {'c': (2+3j)} expected: c: real: 2.0 imag: 3.0 id: input_obj6-expected6📌 Setup phase
duration:
0.0006531416438519955outcome:
passed📌 Call phase
duration:
0.0005691307596862316outcome:
passed📌 Teardown phase
duration:
0.0001869318075478077outcome:
passed -
✅ Test 233
params: input_obj="{'nested': {'arr': array(10, 20],\n [30, 40), 'complex_num': (-1+5j), 'files': [PosixPath('/file1'), PosixPath('/file2')], 'set_values': {200, 100}, 'inner': {'num': 7}}}", expected={"nested": {"arr": 10, 20], [30, 40, "complex_num": {"real": -1.0, "imag": 5.0}, "files": ["/file1", "/file2"], "set_values": [100, 200], "inner": {"num": 7}}}📌 Runtime Parameters
params: input_obj: {'nested': {'arr': array([[10, 20], [30, 40]]), 'complex_num': (-1+5j), 'files': [PosixPath('/file1'), PosixPath('/file2')], 'set_values': {200, 100}, 'inner': {'num': 7}}} expected: nested: arr: - - 10 - 20 - - 30 - 40 complex_num: real: -1.0 imag: 5.0 files: - /file1 - /file2 set_values: - 100 - 200 inner: num: 7 id: input_obj7-expected7📌 Setup phase
duration:
0.0006226920522749424outcome:
passed📌 Call phase
duration:
0.0006115119904279709outcome:
passed📌 Teardown phase
duration:
0.00020910799503326416outcome:
passed
-
-
📄 test_utils_lazypv.py
↳ Function: test_getattr
-
✅ Test 234
📌 Setup phase
duration:
0.00013846205547451973outcome:
passed📌 Call phase
duration:
0.0003506517969071865outcome:
passed📌 Teardown phase
duration:
0.00011590030044317245outcome:
passed
-
-
📄 test_utils_logcfg.py
↳ Function: test_custom_log_outputs
-
✅ Test 235
params: levelname="LONG", logfunc=" at 0x7f30581e0790>", message="This is a LONG message"📌 Runtime Parameters
params: levelname: LONG logfunc: <function <lambda> at 0x7f30581e0790> message: This is a LONG message id: LONG-<lambda>-This is a LONG message📌 Setup phase
duration:
0.001697339117527008outcome:
passed📌 Call phase
duration:
0.0008138422854244709outcome:
passed📌 Teardown phase
duration:
0.00023047905415296555outcome:
passed -
✅ Test 236
params: levelname="ENLARGE", logfunc=" at 0x7f30581e0820>", message="Please ENLARGE this!"📌 Runtime Parameters
params: levelname: ENLARGE logfunc: <function <lambda> at 0x7f30581e0820> message: Please ENLARGE this! id: ENLARGE-<lambda>-Please ENLARGE this!📌 Setup phase
duration:
0.00043601496145129204outcome:
passed📌 Call phase
duration:
0.00048572616651654243outcome:
passed📌 Teardown phase
duration:
0.00022827694192528725outcome:
passed
-
-
📄 test_utils_logign.py
↳ Function: test_ignore_log_msg_behavior
-
✅ Test 238
params: levelname="WARNING", msg_to_ignore="This should be ignored", msg_to_keep="This should appear"📌 Runtime Parameters
params: levelname: WARNING msg_to_ignore: This should be ignored msg_to_keep: This should appear id: WARNING-This should be ignored-This should appear📌 Setup phase
duration:
0.0006808070465922356outcome:
passed📌 Call phase
duration:
0.000891875009983778outcome:
passed📌 Teardown phase
duration:
0.0002553556114435196outcome:
passed -
✅ Test 239
params: levelname="ENLARGE", msg_to_ignore="ENLARGE this", msg_to_keep="Keep this ENLARGE"📌 Runtime Parameters
params: levelname: ENLARGE msg_to_ignore: ENLARGE this msg_to_keep: Keep this ENLARGE id: ENLARGE-ENLARGE this-Keep this ENLARGE📌 Setup phase
duration:
0.00040732789784669876outcome:
passed📌 Call phase
duration:
0.0005315751768648624outcome:
passed📌 Teardown phase
duration:
0.00024051032960414886outcome:
passed
↳ Function: test_ignore_only_by_level
-
✅ Test 240
📌 Setup phase
duration:
0.00023369304835796356outcome:
passed📌 Call phase
duration:
0.0004025958478450775outcome:
passed📌 Teardown phase
duration:
0.00017713895067572594outcome:
passed
↳ Function: test_ignore_only_by_msg
-
✅ Test 241
📌 Setup phase
duration:
0.0002985037863254547outcome:
passed📌 Call phase
duration:
0.00038679689168930054outcome:
passed📌 Teardown phase
duration:
0.00018248474225401878outcome:
passed
↳ Function: test_filter_removed_after_context
-
✅ Test 242
📌 Setup phase
duration:
0.00023364415392279625outcome:
passed📌 Call phase
duration:
0.00045764027163386345outcome:
passed📌 Teardown phase
duration:
0.00017199991270899773outcome:
passed
-
-
📄 test_utils_metaclasses.py
↳ Function: test_combine_classes_combines_methods
-
✅ Test 243
📌 Setup phase
duration:
0.00014465628191828728outcome:
passed📌 Call phase
duration:
0.0002239299938082695outcome:
passed📌 Teardown phase
duration:
0.0001055118627846241outcome:
passed
↳ Function: test_registryabc_combines_registrymeta_and_abcmeta
-
✅ Test 244
📌 Setup phase
duration:
0.00010941922664642334outcome:
passed📌 Call phase
duration:
0.0059964400716125965outcome:
passed📌 Teardown phase
duration:
0.00016967300325632095outcome:
passed
-
-
📄 test_utils_namespace.py
↳ Function: test_namespace_pretty_repr_mixed_and_nested
-
✅ Test 245
📌 Setup phase
duration:
0.0001569380983710289outcome:
passed📌 Call phase
duration:
0.00032185064628720284outcome:
passed📌 Teardown phase
duration:
0.00012039393186569214outcome:
passed
-
-
📄 test_utils_npy.py
↳ Function: test_nice_arange
-
✅ Test 246
params: start=0, stop=5, step=1, expected="[0. 1. 2. 3. 4. 5.]"📌 Runtime Parameters
params: start: 0 stop: 5 step: 1 expected: [0. 1. 2. 3. 4. 5.] id: 0-5-1-expected0📌 Setup phase
duration:
0.0004117889329791069outcome:
passed📌 Call phase
duration:
0.02225273009389639outcome:
passed📌 Teardown phase
duration:
0.0003046216443181038outcome:
passed -
✅ Test 248
params: start=1, stop=2, step=0.3, expected="[1. 1.33333333 1.66666667 2. ]"📌 Runtime Parameters
params: start: 1 stop: 2 step: 0.3 expected: [1. 1.33333333 1.66666667 2. ] id: 1-2-0.3-expected2📌 Setup phase
duration:
0.0004365239292383194outcome:
passed📌 Call phase
duration:
0.0005009938031435013outcome:
passed📌 Teardown phase
duration:
0.00019969698041677475outcome:
passed
↳ Function: test_nice_linspace
-
✅ Test 251
params: start=0, stop=10, num=4, expected="[ 0. 2.5 5. 7.5 10. ]"📌 Runtime Parameters
params: start: 0 stop: 10 num: 4 expected: [ 0. 2.5 5. 7.5 10. ] id: 0-10-4-expected0📌 Setup phase
duration:
0.0003710067830979824outcome:
passed📌 Call phase
duration:
0.00043738214299082756outcome:
passed📌 Teardown phase
duration:
0.00020524999126791954outcome:
passed -
✅ Test 252
params: start=5, stop=15, num=2, expected="[ 5. 10. 15.]"📌 Runtime Parameters
params: start: 5 stop: 15 num: 2 expected: [ 5. 10. 15.] id: 5-15-2-expected1📌 Setup phase
duration:
0.0003555500879883766outcome:
passed📌 Call phase
duration:
0.0003657280467450619outcome:
passed📌 Teardown phase
duration:
0.00019563501700758934outcome:
passed -
✅ Test 253
params: start=-5, stop=5, num=4, expected="[-5. -2.5 0. 2.5 5. ]"📌 Runtime Parameters
params: start: -5 stop: 5 num: 4 expected: [-5. -2.5 0. 2.5 5. ] id: -5-5-4-expected2📌 Setup phase
duration:
0.000351825263351202outcome:
passed📌 Call phase
duration:
0.0003304709680378437outcome:
passed📌 Teardown phase
duration:
0.00019429298117756844outcome:
passed -
✅ Test 254
params: start=0, stop=1, num=3, expected="[0. 0.33333333 0.66666667 1. ]"📌 Runtime Parameters
params: start: 0 stop: 1 num: 3 expected: [0. 0.33333333 0.66666667 1. ] id: 0-1-3-expected3📌 Setup phase
duration:
0.0003319578245282173outcome:
passed📌 Call phase
duration:
0.0003388086333870888outcome:
passed📌 Teardown phase
duration:
0.00018937606364488602outcome:
passed -
✅ Test 255
params: start=2, stop=2, num=3, expected="[2. 2. 2. 2.]"📌 Runtime Parameters
params: start: 2 stop: 2 num: 3 expected: [2. 2. 2. 2.] id: 2-2-3-expected4📌 Setup phase
duration:
0.0003393222577869892outcome:
passed📌 Call phase
duration:
0.0003594895824790001outcome:
passed📌 Teardown phase
duration:
0.0002076178789138794outcome:
passed -
✅ Test 256
params: start=3, stop=0, num=3, expected="[3. 2. 1. 0.]"📌 Runtime Parameters
params: start: 3 stop: 0 num: 3 expected: [3. 2. 1. 0.] id: 3-0-3-expected5📌 Setup phase
duration:
0.00036705099046230316outcome:
passed📌 Call phase
duration:
0.00033935392275452614outcome:
passed📌 Teardown phase
duration:
0.00018373597413301468outcome:
passed -
✅ Test 257
params: start=0, stop=1, num=0, expected="[0.]"📌 Runtime Parameters
params: start: 0 stop: 1 num: 0 expected: [0.] id: 0-1-0-expected6📌 Setup phase
duration:
0.0003516091965138912outcome:
passed📌 Call phase
duration:
0.000338731799274683outcome:
passed📌 Teardown phase
duration:
0.0002000308595597744outcome:
passed
↳ Function: test_nice_steps_centered
-
✅ Test 258
params: start=-2, stop=2, step=2, endpoint=true, expected="[-2. 0. 2.]"📌 Runtime Parameters
params: start: -2 stop: 2 step: 2 endpoint: True expected: [-2. 0. 2.] id: -2-2-2-True-expected0📌 Setup phase
duration:
0.00038825394585728645outcome:
passed📌 Call phase
duration:
0.00039331987500190735outcome:
passed📌 Teardown phase
duration:
0.00020663905888795853outcome:
passed -
✅ Test 259
params: start=0, stop=5, step=2, endpoint=true, expected="[0. 2. 4.]"📌 Runtime Parameters
params: start: 0 stop: 5 step: 2 endpoint: True expected: [0. 2. 4.] id: 0-5-2-True-expected1📌 Setup phase
duration:
0.0004084920510649681outcome:
passed📌 Call phase
duration:
0.00036906730383634567outcome:
passed📌 Teardown phase
duration:
0.00020173005759716034outcome:
passed -
✅ Test 260
params: start=0, stop=5, step=2, endpoint=false, expected="[0. 2.]"📌 Runtime Parameters
params: start: 0 stop: 5 step: 2 endpoint: False expected: [0. 2.] id: 0-5-2-False-expected2📌 Setup phase
duration:
0.0003927811048924923outcome:
passed📌 Call phase
duration:
0.00035516731441020966outcome:
passed📌 Teardown phase
duration:
0.00019556330516934395outcome:
passed -
✅ Test 261
params: start=-1, stop=2, step=1.5, endpoint=true, expected="[-1.5 0. 1.5]"📌 Runtime Parameters
params: start: -1 stop: 2 step: 1.5 endpoint: True expected: [-1.5 0. 1.5] id: -1-2-1.5-True-expected3📌 Setup phase
duration:
0.00038435496389865875outcome:
passed📌 Call phase
duration:
0.00034638773649930954outcome:
passed📌 Teardown phase
duration:
0.0002328231930732727outcome:
passed
↳ Function: test_nice_steps_left_aligned
-
✅ Test 264
params: start=-1, stop=2, step=1.5, endpoint=true, expected="[-1. 0.5 2. ]"📌 Runtime Parameters
params: start: -1 stop: 2 step: 1.5 endpoint: True expected: [-1. 0.5 2. ] id: -1-2-1.5-True-expected2📌 Setup phase
duration:
0.00043150177225470543outcome:
passed📌 Call phase
duration:
0.0004864712245762348outcome:
passed📌 Teardown phase
duration:
0.00022069131955504417outcome:
passed -
✅ Test 265
params: start=-1, stop=2, step=1.5, endpoint=false, expected="[-1. 0.5]"📌 Runtime Parameters
params: start: -1 stop: 2 step: 1.5 endpoint: False expected: [-1. 0.5] id: -1-2-1.5-False-expected3📌 Setup phase
duration:
0.0004025171510875225outcome:
passed📌 Call phase
duration:
0.0003660670481622219outcome:
passed📌 Teardown phase
duration:
0.00020693568512797356outcome:
passed
↳ Function: test_within_scalar
-
✅ Test 276
params: val=5, vmin=0, vmax=10, expected=true📌 Runtime Parameters
params: val: 5 vmin: 0 vmax: 10 expected: True id: 5-0-10-True📌 Setup phase
duration:
0.00036743609234690666outcome:
passed📌 Call phase
duration:
0.00015470385551452637outcome:
passed📌 Teardown phase
duration:
0.00017258711159229279outcome:
passed -
✅ Test 277
params: val=5, vmin=6, vmax=10, expected=false📌 Runtime Parameters
params: val: 5 vmin: 6 vmax: 10 expected: False id: 5-6-10-False📌 Setup phase
duration:
0.0003061993047595024outcome:
passed📌 Call phase
duration:
0.0001517687924206257outcome:
passed📌 Teardown phase
duration:
0.0001709628850221634outcome:
passed -
✅ Test 278
params: val=5, vmin=null, vmax=10, expected=true📌 Runtime Parameters
params: val: 5 vmin: None vmax: 10 expected: True id: 5-None-10-True📌 Setup phase
duration:
0.00031748320907354355outcome:
passed📌 Call phase
duration:
0.00013439729809761047outcome:
passed📌 Teardown phase
duration:
0.0001689419150352478outcome:
passed -
✅ Test 279
params: val=5, vmin=0, vmax=null, expected=true📌 Runtime Parameters
params: val: 5 vmin: 0 vmax: None expected: True id: 5-0-None-True📌 Setup phase
duration:
0.00030502211302518845outcome:
passed📌 Call phase
duration:
0.00013477634638547897outcome:
passed📌 Teardown phase
duration:
0.00016960082575678825outcome:
passed -
✅ Test 280
params: val=5, vmin=null, vmax=null, expected=true📌 Runtime Parameters
params: val: 5 vmin: None vmax: None expected: True id: 5-None-None-True📌 Setup phase
duration:
0.0003052656538784504outcome:
passed📌 Call phase
duration:
0.0001370529644191265outcome:
passed📌 Teardown phase
duration:
0.00016371719539165497outcome:
passed
↳ Function: test_within_fraction
-
✅ Test 281
params: data=[1, 2, 3, 4, 5], vmin=2, vmax=5, expected=0.6📌 Runtime Parameters
params: data: - 1 - 2 - 3 - 4 - 5 vmin: 2 vmax: 5 expected: 0.6 id: data0-2-5-0.6📌 Setup phase
duration:
0.00031493930146098137outcome:
passed📌 Call phase
duration:
0.00032398104667663574outcome:
passed📌 Teardown phase
duration:
0.00018475111573934555outcome:
passed -
✅ Test 282
params: data=[10, 20, 30], vmin=5, vmax=25, expected=0.6666666666666666📌 Runtime Parameters
params: data: - 10 - 20 - 30 vmin: 5 vmax: 25 expected: 0.6666666666666666 id: data1-5-25-0.6666666666666666📌 Setup phase
duration:
0.00032789865508675575outcome:
passed📌 Call phase
duration:
0.00024263793602585793outcome:
passed📌 Teardown phase
duration:
0.00019441312178969383outcome:
passed -
✅ Test 283
params: data=[1, 2, 3], vmin=null, vmax=2, expected=0.3333333333333333📌 Runtime Parameters
params: data: - 1 - 2 - 3 vmin: None vmax: 2 expected: 0.3333333333333333 id: data2-None-2-0.3333333333333333📌 Setup phase
duration:
0.00031845225021243095outcome:
passed📌 Call phase
duration:
0.00024523260071873665outcome:
passed📌 Teardown phase
duration:
0.00017093075439333916outcome:
passed -
✅ Test 284
params: data=[], vmin=0, vmax=1, expected=0📌 Runtime Parameters
params: data: [] vmin: 0 vmax: 1 expected: 0 id: data3-0-1-0📌 Setup phase
duration:
0.00032479409128427505outcome:
passed📌 Call phase
duration:
0.00022849999368190765outcome:
passed📌 Teardown phase
duration:
0.0001894347369670868outcome:
passed
↳ Function: test_fraction_to_percentage
-
✅ Test 285
params: fraction=0.456, ndigits=1, expected=45.6📌 Runtime Parameters
params: fraction: 0.456 ndigits: 1 expected: 45.6 id: 0.456-1-45.6📌 Setup phase
duration:
0.000277192797511816outcome:
passed📌 Call phase
duration:
0.0001463731750845909outcome:
passed📌 Teardown phase
duration:
0.00016422942280769348outcome:
passed -
✅ Test 286
params: fraction=0.12345, ndigits=2, expected=12.35📌 Runtime Parameters
params: fraction: 0.12345 ndigits: 2 expected: 12.35 id: 0.12345-2-12.35📌 Setup phase
duration:
0.0002566189505159855outcome:
passed📌 Call phase
duration:
0.00013785110786557198outcome:
passed📌 Teardown phase
duration:
0.00016751093789935112outcome:
passed -
✅ Test 287
params: fraction=0.9999, ndigits=0, expected=100.0📌 Runtime Parameters
params: fraction: 0.9999 ndigits: 0 expected: 100.0 id: 0.9999-0-100.0📌 Setup phase
duration:
0.00026287464424967766outcome:
passed📌 Call phase
duration:
0.00015172269195318222outcome:
passed📌 Teardown phase
duration:
0.0001524859108030796outcome:
passed
↳ Function: test_get_dtype
-
✅ Test 288
params: val="[1 2 3]", expected=""📌 Runtime Parameters
params: val: [1 2 3] expected: <class 'numpy.ndarray'> id: val0-ndarray📌 Setup phase
duration:
0.00021840818226337433outcome:
passed📌 Call phase
duration:
0.00014421576634049416outcome:
passed📌 Teardown phase
duration:
0.000146408099681139outcome:
passed -
✅ Test 289
params: val=[1, 2, 3], expected=""📌 Runtime Parameters
params: val: - 1 - 2 - 3 expected: <class 'list'> id: val1-list📌 Setup phase
duration:
0.00025047920644283295outcome:
passed📌 Call phase
duration:
0.00014428095892071724outcome:
passed📌 Teardown phase
duration:
0.0001389598473906517outcome:
passed -
✅ Test 290
params: val=3.14, expected=""📌 Runtime Parameters
params: val: 3.14 expected: <class 'float'> id: 3.14-float📌 Setup phase
duration:
0.00021550478413701057outcome:
passed📌 Call phase
duration:
0.00013343803584575653outcome:
passed📌 Teardown phase
duration:
0.00013341475278139114outcome:
passed
↳ Function: test_get_shape
-
✅ Test 291
params: val="1 2]\n [3 4", expected=[2, 2]📌 Runtime Parameters
params: val: [[1 2] [3 4]] expected: - 2 - 2 id: val0-expected0📌 Setup phase
duration:
0.0002218838781118393outcome:
passed📌 Call phase
duration:
0.0001382310874760151outcome:
passed📌 Teardown phase
duration:
0.00015905871987342834outcome:
passed -
✅ Test 292
params: val=[1, 2, 3], expected=[]📌 Runtime Parameters
params: val: - 1 - 2 - 3 expected: [] id: val1-expected1📌 Setup phase
duration:
0.00022955983877182007outcome:
passed📌 Call phase
duration:
0.00013576075434684753outcome:
passed📌 Teardown phase
duration:
0.00014300411567091942outcome:
passed -
✅ Test 293
params: val=42, expected=[]📌 Runtime Parameters
params: val: 42 expected: [] id: 42-expected2📌 Setup phase
duration:
0.00021767988801002502outcome:
passed📌 Call phase
duration:
0.00014485185965895653outcome:
passed📌 Teardown phase
duration:
0.00013361172750592232outcome:
passed
↳ Function: test_is_array
-
✅ Test 294
params: val="[1 2 3]", expected=true📌 Runtime Parameters
params: val: [1 2 3] expected: True id: val0-True📌 Setup phase
duration:
0.0002194228582084179outcome:
passed📌 Call phase
duration:
0.00014646537601947784outcome:
passed📌 Teardown phase
duration:
0.0001451694406569004outcome:
passed -
✅ Test 295
params: val=[1, 2, 3], expected=false📌 Runtime Parameters
params: val: - 1 - 2 - 3 expected: False id: val1-False📌 Setup phase
duration:
0.00022887205705046654outcome:
passed📌 Call phase
duration:
0.0001386767253279686outcome:
passed📌 Teardown phase
duration:
0.00014232099056243896outcome:
passed -
✅ Test 296
params: val=42, expected=false📌 Runtime Parameters
params: val: 42 expected: False id: 42-False📌 Setup phase
duration:
0.00022780615836381912outcome:
passed📌 Call phase
duration:
0.00013538915663957596outcome:
passed📌 Teardown phase
duration:
0.00013348599895834923outcome:
passed
-
-
📄 test_utils_path.py
↳ Function: test_can_create_all_files_user_says_yes
-
✅ Test 297
📌 Setup phase
duration:
0.00013270508497953415outcome:
passed📌 Call phase
duration:
0.0007819319143891335outcome:
passed📌 Teardown phase
duration:
0.00011435803025960922outcome:
passed
↳ Function: test_can_create_all_files_user_says_no
-
✅ Test 298
📌 Setup phase
duration:
0.0001203678548336029outcome:
passed📌 Call phase
duration:
0.00044229906052351outcome:
passed📌 Teardown phase
duration:
0.00011191191151738167outcome:
passed
↳ Function: test_make_missing_dir_creates_folder
-
✅ Test 299
📌 Setup phase
duration:
0.00012027006596326828outcome:
passed📌 Call phase
duration:
0.0005167638882994652outcome:
passed📌 Teardown phase
duration:
0.00012062909081578255outcome:
passed
↳ Function: test_glob_files_returns_matching_files_only
-
✅ Test 300
📌 Setup phase
duration:
0.0001162458211183548outcome:
passed📌 Call phase
duration:
0.001204575877636671outcome:
passed📌 Teardown phase
duration:
0.0001249471679329872outcome:
passed
↳ Function: test_filter_files_excludes_directories
-
✅ Test 301
📌 Setup phase
duration:
0.00011342018842697144outcome:
passed📌 Call phase
duration:
0.0007439912296831608outcome:
passed📌 Teardown phase
duration:
0.0001250430941581726outcome:
passed
-
-
📄 test_utils_picklio.py
↳ Function: test_pickle_and_unpickle
-
✅ Test 302
params: test_obj={"a": 1, "b": [2, 3], "c": {"world": "ok"}}📌 Runtime Parameters
params: test_obj: a: 1 b: - 2 - 3 c: world: ok id: test_obj0📌 Setup phase
duration:
0.0007080552168190479outcome:
passed📌 Call phase
duration:
0.0004324452020227909outcome:
passed📌 Teardown phase
duration:
0.00019392883405089378outcome:
passed -
✅ Test 303
params: test_obj=[1, 2, 3, 4, 5]📌 Runtime Parameters
params: test_obj: - 1 - 2 - 3 - 4 - 5 id: test_obj1📌 Setup phase
duration:
0.0005566799081861973outcome:
passed📌 Call phase
duration:
0.0003059711307287216outcome:
passed📌 Teardown phase
duration:
0.00016288133338093758outcome:
passed -
✅ Test 304
params: test_obj="simple string"📌 Runtime Parameters
params: test_obj: simple string id: simple string📌 Setup phase
duration:
0.0005026441067457199outcome:
passed📌 Call phase
duration:
0.0003378610126674175outcome:
passed📌 Teardown phase
duration:
0.0001609870232641697outcome:
passed -
✅ Test 305
params: test_obj=42📌 Runtime Parameters
params: test_obj: 42 id: 42📌 Setup phase
duration:
0.0005752299912273884outcome:
passed📌 Call phase
duration:
0.00028798216953873634outcome:
passed📌 Teardown phase
duration:
0.0001650550402700901outcome:
passed -
✅ Test 306
params: test_obj=3.14159📌 Runtime Parameters
params: test_obj: 3.14159 id: 3.14159📌 Setup phase
duration:
0.0005498528480529785outcome:
passed📌 Call phase
duration:
0.00030842190608382225outcome:
passed📌 Teardown phase
duration:
0.00016106385737657547outcome:
passed -
✅ Test 307
params: test_obj=[true, false, null]📌 Runtime Parameters
params: test_obj: - True - (vide) - (vide) id: test_obj5📌 Setup phase
duration:
0.0005370131693780422outcome:
passed📌 Call phase
duration:
0.0003224741667509079outcome:
passed📌 Teardown phase
duration:
0.00016158493235707283outcome:
passed -
✅ Test 308
params: test_obj={"complex": [{"list": [1, 2]}, {"dict": {"x": 10}}]}📌 Runtime Parameters
params: test_obj: complex: - list: - 1 - 2 - dict: x: 10 id: test_obj6📌 Setup phase
duration:
0.0005373377352952957outcome:
passed📌 Call phase
duration:
0.00029448792338371277outcome:
passed📌 Teardown phase
duration:
0.0001805671490728855outcome:
passed
-
-
📄 test_utils_printing.py
↳ Function: test_maxlen_valid
-
✅ Test 309
params: seq=["a", "abc", ""], expected=3📌 Runtime Parameters
params: seq: - a - abc - (vide) expected: 3 id: seq0-3📌 Setup phase
duration:
0.000270036980509758outcome:
passed📌 Call phase
duration:
0.00017379829660058022outcome:
passed📌 Teardown phase
duration:
0.00015069497749209404outcome:
passed -
✅ Test 310
params: seq=[], expected=0📌 Runtime Parameters
params: seq: [] expected: 0 id: seq1-0📌 Setup phase
duration:
0.00026129186153411865outcome:
passed📌 Call phase
duration:
0.00014044111594557762outcome:
passed📌 Teardown phase
duration:
0.00013606809079647064outcome:
passed -
✅ Test 311
params: seq=1, 2], [3], [4, 5, 6, expected=3📌 Runtime Parameters
params: seq: - - 1 - 2 - - 3 - - 4 - 5 - 6 expected: 3 id: seq2-3📌 Setup phase
duration:
0.0002311868593096733outcome:
passed📌 Call phase
duration:
0.00014724815264344215outcome:
passed📌 Teardown phase
duration:
0.00013842526823282242outcome:
passed -
✅ Test 312
params: seq=[{"a": 2, "b": 3}, {}, {"c": 4}], expected=2📌 Runtime Parameters
params: seq: - a: 2 b: 3 - (vide) - c: 4 expected: 2 id: seq3-2📌 Setup phase
duration:
0.00022788811475038528outcome:
passed📌 Call phase
duration:
0.00014432799071073532outcome:
passed📌 Teardown phase
duration:
0.00014524301514029503outcome:
passed
↳ Function: test_strlen
-
✅ Test 313
params: value=42, expected=2📌 Runtime Parameters
params: value: 42 expected: 2 id: 42-2📌 Setup phase
duration:
0.00021835975348949432outcome:
passed📌 Call phase
duration:
0.00015411898493766785outcome:
passed📌 Teardown phase
duration:
0.00014437129721045494outcome:
passed -
✅ Test 314
params: value="hello", expected=5📌 Runtime Parameters
params: value: hello expected: 5 id: hello-5📌 Setup phase
duration:
0.00022299401462078094outcome:
passed📌 Call phase
duration:
0.00014350377023220062outcome:
passed📌 Teardown phase
duration:
0.00014943722635507584outcome:
passed -
✅ Test 315
params: value=false, expected=5📌 Runtime Parameters
params: value: False expected: 5 id: False-5📌 Setup phase
duration:
0.00021552108228206635outcome:
passed📌 Call phase
duration:
0.00013354001566767693outcome:
passed📌 Teardown phase
duration:
0.00013335514813661575outcome:
passed -
✅ Test 316
params: value=null, expected=4📌 Runtime Parameters
params: value: None expected: 4 id: None-4📌 Setup phase
duration:
0.00020552799105644226outcome:
passed📌 Call phase
duration:
0.0001350133679807186outcome:
passed📌 Teardown phase
duration:
0.00013745715841650963outcome:
passed -
✅ Test 317
params: value=[1, 2, 3], expected=9📌 Runtime Parameters
params: value: - 1 - 2 - 3 expected: 9 id: value4-9📌 Setup phase
duration:
0.00021094316616654396outcome:
passed📌 Call phase
duration:
0.00013884715735912323outcome:
passed📌 Teardown phase
duration:
0.00013402476906776428outcome:
passed -
✅ Test 318
params: value={"a": 1}, expected=8📌 Runtime Parameters
params: value: a: 1 expected: 8 id: value5-8📌 Setup phase
duration:
0.00023783976212143898outcome:
passed📌 Call phase
duration:
0.00013981526717543602outcome:
passed📌 Teardown phase
duration:
0.00013668881729245186outcome:
passed -
✅ Test 319
params: value=[1, 2], expected=6📌 Runtime Parameters
params: value: - 1 - 2 expected: 6 id: value6-6📌 Setup phase
duration:
0.00023783976212143898outcome:
passed📌 Call phase
duration:
0.00013723690062761307outcome:
passed📌 Teardown phase
duration:
0.00013556517660617828outcome:
passed -
✅ Test 320
params: value="", expected=0📌 Runtime Parameters
params: value: None expected: 0 id: -0📌 Setup phase
duration:
0.00022040493786334991outcome:
passed📌 Call phase
duration:
0.00012913905084133148outcome:
passed📌 Teardown phase
duration:
0.00013188831508159637outcome:
passed -
✅ Test 321
params: value="this is a phrase", expected=16📌 Runtime Parameters
params: value: this is a phrase expected: 16 id: this is a phrase-16📌 Setup phase
duration:
0.00022025220096111298outcome:
passed📌 Call phase
duration:
0.0001346389763057232outcome:
passed📌 Teardown phase
duration:
0.0004048827104270458outcome:
passed
↳ Function: test_maxstrlen
-
✅ Test 322
params: seq=[1, true, 3.1415], expected=6📌 Runtime Parameters
params: seq: - 1 - True - 3.1415 expected: 6 id: seq0-6📌 Setup phase
duration:
0.00023780623450875282outcome:
passed📌 Call phase
duration:
0.00016401708126068115outcome:
passed📌 Teardown phase
duration:
0.0001423298381268978outcome:
passed -
✅ Test 323
params: seq=["aa", "bbb", "c"], expected=3📌 Runtime Parameters
params: seq: - aa - bbb - c expected: 3 id: seq1-3📌 Setup phase
duration:
0.0002164868637919426outcome:
passed📌 Call phase
duration:
0.00015498092398047447outcome:
passed📌 Teardown phase
duration:
0.00014704139903187752outcome:
passed -
✅ Test 324
params: seq=1, 2], [], [1, 2, 3, expected=9📌 Runtime Parameters
params: seq: - - 1 - 2 - (vide) - - 1 - 2 - 3 expected: 9 id: seq2-9📌 Setup phase
duration:
0.00023096101358532906outcome:
passed📌 Call phase
duration:
0.00014475826174020767outcome:
passed📌 Teardown phase
duration:
0.00013552699238061905outcome:
passed -
✅ Test 325
params: seq=[{"a": 1}, {}, {"a": 1, "b": 2}], expected=16📌 Runtime Parameters
params: seq: - a: 1 - (vide) - a: 1 b: 2 expected: 16 id: seq3-16📌 Setup phase
duration:
0.00022426806390285492outcome:
passed📌 Call phase
duration:
0.00014886027202010155outcome:
passed📌 Teardown phase
duration:
0.00015412922948598862outcome:
passed -
✅ Test 326
params: seq=[null, false, 12345], expected=5📌 Runtime Parameters
params: seq: - (vide) - (vide) - 12345 expected: 5 id: seq4-5📌 Setup phase
duration:
0.0002128584310412407outcome:
passed📌 Call phase
duration:
0.00014112703502178192outcome:
passed📌 Teardown phase
duration:
0.00013862503692507744outcome:
passed
↳ Function: test_transpose_matrix
-
✅ Test 327
params: data=1, 2], [3, 4, expected=1, 3], [2, 4📌 Runtime Parameters
params: data: - - 1 - 2 - - 3 - 4 expected: - - 1 - 3 - - 2 - 4 id: data0-expected0📌 Setup phase
duration:
0.00023736804723739624outcome:
passed📌 Call phase
duration:
0.0001603318378329277outcome:
passed📌 Teardown phase
duration:
0.00014898134395480156outcome:
passed -
✅ Test 328
params: data="a", "b"], ["c", "d", expected="a", "c"], ["b", "d"📌 Runtime Parameters
params: data: - - a - b - - c - d expected: - - a - c - - b - d id: data1-expected1📌 Setup phase
duration:
0.00022305035963654518outcome:
passed📌 Call phase
duration:
0.0001527741551399231outcome:
passed📌 Teardown phase
duration:
0.00014290213584899902outcome:
passed -
✅ Test 329
params: data={"x": 1}, {"y": 2}], [{"x": 3}, {"y": 4}, expected={"x": 1}, {"x": 3}], [{"y": 2}, {"y": 4}📌 Runtime Parameters
params: data: - - x: 1 - y: 2 - - x: 3 - y: 4 expected: - - x: 1 - x: 3 - - y: 2 - y: 4 id: data2-expected2📌 Setup phase
duration:
0.00022007711231708527outcome:
passed📌 Call phase
duration:
0.00015086587518453598outcome:
passed📌 Teardown phase
duration:
0.0001491466537117958outcome:
passed
↳ Function: test_prepend
-
✅ Test 330
params: initial=[1, 2, 3], prepend=1, expected=[1, 2, 3]📌 Runtime Parameters
params: initial: - 1 - 2 - 3 prepend: 1 expected: - 1 - 2 - 3 id: initial0-1-expected0📌 Setup phase
duration:
0.0002830643206834793outcome:
passed📌 Call phase
duration:
0.00015000905841588974outcome:
passed📌 Teardown phase
duration:
0.0001575518399477005outcome:
passed -
✅ Test 331
params: initial=["a", "b", "c"], prepend="a", expected=["a", "b", "c"]📌 Runtime Parameters
params: initial: - a - b - c prepend: a expected: - a - b - c id: initial1-a-expected1📌 Setup phase
duration:
0.0002733878791332245outcome:
passed📌 Call phase
duration:
0.00013828324154019356outcome:
passed📌 Teardown phase
duration:
0.00016736285760998726outcome:
passed -
✅ Test 332
params: initial=[{"a": 1}, {"b": 2}], prepend={"a": 1}, expected=[{"a": 1}, {"b": 2}]📌 Runtime Parameters
params: initial: - a: 1 - b: 2 prepend: a: 1 expected: - a: 1 - b: 2 id: initial2-prepend2-expected2📌 Setup phase
duration:
0.00027568498626351357outcome:
passed📌 Call phase
duration:
0.0001441650092601776outcome:
passed📌 Teardown phase
duration:
0.00015289103612303734outcome:
passed -
✅ Test 333
params: initial=1], [2], [3, prepend=[1], expected=1], [2], [3📌 Runtime Parameters
params: initial: - - 1 - - 2 - - 3 prepend: - 1 expected: - - 1 - - 2 - - 3 id: initial3-prepend3-expected3📌 Setup phase
duration:
0.0003509521484375outcome:
passed📌 Call phase
duration:
0.00014565140008926392outcome:
passed📌 Teardown phase
duration:
0.00016328459605574608outcome:
passed
↳ Function: test_fmt_table_line
-
✅ Test 334
params: entries=["a", "bbb"], widths=[3, 5], expected=" a bbb"📌 Runtime Parameters
params: entries: - a - bbb widths: - 3 - 5 expected: a bbb id: entries0-widths0- a bbb📌 Setup phase
duration:
0.00029028020799160004outcome:
passed📌 Call phase
duration:
0.00016714073717594147outcome:
passed📌 Teardown phase
duration:
0.00015909690409898758outcome:
passed -
✅ Test 335
params: entries=[1, 2], widths=[2, 2], expected=" 1 2"📌 Runtime Parameters
params: entries: - 1 - 2 widths: - 2 - 2 expected: 1 2 id: entries1-widths1- 1 2📌 Setup phase
duration:
0.0002698823809623718outcome:
passed📌 Call phase
duration:
0.00015140092000365257outcome:
passed📌 Teardown phase
duration:
0.00015103304758667946outcome:
passed -
✅ Test 336
params: entries=["long", "val"], widths=[6, 4], expected=" long val"📌 Runtime Parameters
params: entries: - long - val widths: - 6 - 4 expected: long val id: entries2-widths2- long val📌 Setup phase
duration:
0.00029572658240795135outcome:
passed📌 Call phase
duration:
0.0001492178998887539outcome:
passed📌 Teardown phase
duration:
0.00015353737398982048outcome:
passed -
✅ Test 337
params: entries=[true, false], widths=[5, 6], expected=" True False"📌 Runtime Parameters
params: entries: - True - (vide) widths: - 5 - 6 expected: True False id: entries3-widths3- True False📌 Setup phase
duration:
0.0002560070715844631outcome:
passed📌 Call phase
duration:
0.00014008302241563797outcome:
passed📌 Teardown phase
duration:
0.00015379860997200012outcome:
passed -
✅ Test 338
params: entries=[123, 4567], widths=[5, 5], expected=" 123 4567"📌 Runtime Parameters
params: entries: - 123 - 4567 widths: - 5 - 5 expected: 123 4567 id: entries4-widths4- 123 4567📌 Setup phase
duration:
0.0002872040495276451outcome:
passed📌 Call phase
duration:
0.00014403602108359337outcome:
passed📌 Teardown phase
duration:
0.00016684597358107567outcome:
passed -
✅ Test 339
params: entries=["text with space", "end"], widths=[16, 5], expected=" text with space end"📌 Runtime Parameters
params: entries: - text with space - end widths: - 16 - 5 expected: text with space end id: entries5-widths5- text with space end📌 Setup phase
duration:
0.00026235776022076607outcome:
passed📌 Call phase
duration:
0.00014068977907299995outcome:
passed📌 Teardown phase
duration:
0.00014881975948810577outcome:
passed -
✅ Test 340
params: entries=[{"a": 1}, {"b": 2}], widths=[10, 10], expected=" {'a': 1} {'b': 2}"📌 Runtime Parameters
params: entries: - a: 1 - b: 2 widths: - 10 - 10 expected: {'a': 1} {'b': 2} id: entries6-widths6- {'a': 1} {'b': 2}📌 Setup phase
duration:
0.00027578603476285934outcome:
passed📌 Call phase
duration:
0.0001580268144607544outcome:
passed📌 Teardown phase
duration:
0.00015550898388028145outcome:
passed -
✅ Test 341
params: entries=1, 2], [3, 4, widths=[10, 10], expected=" [1, 2] [3, 4]"📌 Runtime Parameters
params: entries: - - 1 - 2 - - 3 - 4 widths: - 10 - 10 expected: [1, 2] [3, 4] id: entries7-widths7- [1, 2] [3, 4]📌 Setup phase
duration:
0.00027018599212169647outcome:
passed📌 Call phase
duration:
0.00014916574582457542outcome:
passed📌 Teardown phase
duration:
0.0001538931392133236outcome:
passed
↳ Function: test_fmt_label_sep
-
✅ Test 342
params: widths=[3, 4], line="-", expected="--- ----"📌 Runtime Parameters
params: widths: - 3 - 4 line: - expected: --- ---- id: widths0------ ----📌 Setup phase
duration:
0.0002662176266312599outcome:
passed📌 Call phase
duration:
0.00014852918684482574outcome:
passed📌 Teardown phase
duration:
0.00015716999769210815outcome:
passed -
✅ Test 343
params: widths=[2, 3], line="=", expected="== ==="📌 Runtime Parameters
params: widths: - 2 - 3 line: = expected: == === id: widths1-=-== ===📌 Setup phase
duration:
0.0002750079147517681outcome:
passed📌 Call phase
duration:
0.00014159316197037697outcome:
passed📌 Teardown phase
duration:
0.00015940330922603607outcome:
passed -
✅ Test 344
params: widths=[5, 2], line="*", expected="***** **"📌 Runtime Parameters
params: widths: - 5 - 2 line: * expected: ***** ** id: widths2-*-***** **📌 Setup phase
duration:
0.00025691278278827667outcome:
passed📌 Call phase
duration:
0.00014219572767615318outcome:
passed📌 Teardown phase
duration:
0.00015252316370606422outcome:
passed
↳ Function: test_printable_dict_with_header
-
✅ Test 345
params: d={"medium": true, "very_long_key": 3.14, "x": 1}, header="HeaderTest", expected_lines=["HeaderTest:", "-----------", "medium: True", "very_long_key: 3.14", "x: 1", ""]📌 Runtime Parameters
params: d: medium: True very_long_key: 3.14 x: 1 header: HeaderTest expected_lines: - HeaderTest: - ----------- - medium: True - very_long_key: 3.14 - x: 1 - (vide) id: d0-HeaderTest-expected_lines0📌 Setup phase
duration:
0.0002529206685721874outcome:
passed📌 Call phase
duration:
0.00023510679602622986outcome:
passed📌 Teardown phase
duration:
0.00016412511467933655outcome:
passed
↳ Function: test_printable_dict_of_dicts
-
✅ Test 346
📌 Setup phase
duration:
0.00010899780318140984outcome:
passed📌 Call phase
duration:
0.0002612210810184479outcome:
passed📌 Teardown phase
duration:
0.00010597193613648415outcome:
passed
↳ Function: test_printable_table
-
✅ Test 347
params: data="X1", true, 0.1234, {"meta": "ok"}], ["AnotherSample", false, 98765.4321, {"meta": [1, 2, 3]}], ["Z", null, 0.0, {"meta": {"nested_key": 42}}, labels=["ID", "✓ Success?", "SuperPrecisionValue", "Result Metadata"], expected="A: ID\nB: ✓ Success?\nC: SuperPrecisionValue\nD: Result Metadata\n\n# A B C D\n- ------------- ----- ---------- ----------------------------\n0 X1 True 0.1234 {'meta': 'ok'}\n1 AnotherSample False 98765.4321 {'meta': [1, 2, 3]}\n2 Z None 0.0 {'meta': {'nested_key': 42}}"📌 Runtime Parameters
params: data: - - X1 - True - 0.1234 - meta: ok - - AnotherSample - (vide) - 98765.4321 - meta: - 1 - 2 - 3 - - Z - (vide) - (vide) - meta: nested_key: 42 labels: - ID - ✓ Success? - SuperPrecisionValue - Result Metadata expected: A: ID B: ✓ Success? C: SuperPrecisionValue D: Result Metadata # A B C D - ------------- ----- ---------- ---------------------------- 0 X1 True 0.1234 {'meta': 'ok'} 1 AnotherSample False 98765.4321 {'meta': [1, 2, 3]} 2 Z None 0.0 {'meta': {'nested_key': 42}} id: data0-labels0-A: ID\nB: \u2713 Success?\nC: SuperPrecisionValue\nD: Result Metadata\n\n# A B C D\n- ------------- ----- ---------- ----------------------------\n0 X1 True 0.1234 {'meta': 'ok'}\n1 AnotherSample False 98765.4321 {'meta': [1, 2, 3]}\n2 Z None 0.0 {'meta': {'nested_key': 42}}📌 Setup phase
duration:
0.00036300718784332275outcome:
passed📌 Call phase
duration:
0.00032771099358797073outcome:
passed📌 Teardown phase
duration:
0.00019124988466501236outcome:
passed
-
-
📄 test_utils_rangebar.py
↳ Function: test_full_progress_bar
-
✅ Test 356
📌 Setup phase
duration:
0.0004105055704712868outcome:
passed📌 Call phase
duration:
0.0002719871699810028outcome:
passed📌 Teardown phase
duration:
0.0001847180537879467outcome:
passed
↳ Function: test_half_progress_bar
-
✅ Test 357
📌 Setup phase
duration:
0.000282535795122385outcome:
passed📌 Call phase
duration:
0.00020944979041814804outcome:
passed📌 Teardown phase
duration:
0.0001614862121641636outcome:
passed
↳ Function: test_zero_progress_bar
-
✅ Test 358
📌 Setup phase
duration:
0.0002831178717315197outcome:
passed📌 Call phase
duration:
0.0001951088197529316outcome:
passed📌 Teardown phase
duration:
0.00016038119792938232outcome:
passed
↳ Function: test_overflow_bar
-
✅ Test 359
📌 Setup phase
duration:
0.00025828415527939796outcome:
passed📌 Call phase
duration:
0.00018737232312560081outcome:
passed📌 Teardown phase
duration:
0.0001728949137032032outcome:
passed
↳ Function: test_underflow_bar
-
✅ Test 360
📌 Setup phase
duration:
0.000257877167314291outcome:
passed📌 Call phase
duration:
0.0001771901734173298outcome:
passed📌 Teardown phase
duration:
0.0001564030535519123outcome:
passed
↳ Function: test_repr
-
✅ Test 361
📌 Setup phase
duration:
0.0001183939166367054outcome:
passed📌 Call phase
duration:
0.00014739297330379486outcome:
passed📌 Teardown phase
duration:
0.0001011136919260025outcome:
passed
↳ Function: test_each_value_separately
-
✅ Test 362
params: value=0, expected_bar_part=" "📌 Runtime Parameters
params: value: 0 expected_bar_part: id: 0-📌 Setup phase
duration:
0.0003675948828458786outcome:
passed📌 Call phase
duration:
0.0002243458293378353outcome:
passed📌 Teardown phase
duration:
0.00019567785784602165outcome:
passed -
✅ Test 363
params: value=10, expected_bar_part="█ "📌 Runtime Parameters
params: value: 10 expected_bar_part: █ id: 10-\u2588📌 Setup phase
duration:
0.00036863330751657486outcome:
passed📌 Call phase
duration:
0.00019158190116286278outcome:
passed📌 Teardown phase
duration:
0.00019354000687599182outcome:
passed -
✅ Test 364
params: value=25, expected_bar_part="██▌ "📌 Runtime Parameters
params: value: 25 expected_bar_part: ██▌ id: 25-\u2588\u2588\u258c📌 Setup phase
duration:
0.00035589467734098434outcome:
passed📌 Call phase
duration:
0.00019659800454974174outcome:
passed📌 Teardown phase
duration:
0.00019349204376339912outcome:
passed -
✅ Test 365
params: value=27, expected_bar_part="██▊ "📌 Runtime Parameters
params: value: 27 expected_bar_part: ██▊ id: 27-\u2588\u2588\u258a📌 Setup phase
duration:
0.0003461157903075218outcome:
passed📌 Call phase
duration:
0.00018902774900197983outcome:
passed📌 Teardown phase
duration:
0.00019218120723962784outcome:
passed -
✅ Test 366
params: value=49, expected_bar_part="████▉ "📌 Runtime Parameters
params: value: 49 expected_bar_part: ████▉ id: 49-\u2588\u2588\u2588\u2588\u2589📌 Setup phase
duration:
0.000357992947101593outcome:
passed📌 Call phase
duration:
0.0001817150041460991outcome:
passed📌 Teardown phase
duration:
0.0001892000436782837outcome:
passed -
✅ Test 367
params: value=50, expected_bar_part="█████ "📌 Runtime Parameters
params: value: 50 expected_bar_part: █████ id: 50-\u2588\u2588\u2588\u2588\u2588📌 Setup phase
duration:
0.00035132700577378273outcome:
passed📌 Call phase
duration:
0.00018523214384913445outcome:
passed📌 Teardown phase
duration:
0.00018391571938991547outcome:
passed -
✅ Test 368
params: value=51, expected_bar_part="█████▏ "📌 Runtime Parameters
params: value: 51 expected_bar_part: █████▏ id: 51-\u2588\u2588\u2588\u2588\u2588\u258f📌 Setup phase
duration:
0.0003520660102367401outcome:
passed📌 Call phase
duration:
0.00018974300473928452outcome:
passed📌 Teardown phase
duration:
0.00018806615844368935outcome:
passed -
✅ Test 369
params: value=73, expected_bar_part="███████▎ "📌 Runtime Parameters
params: value: 73 expected_bar_part: ███████▎ id: 73-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e📌 Setup phase
duration:
0.0003589680418372154outcome:
passed📌 Call phase
duration:
0.00018947897478938103outcome:
passed📌 Teardown phase
duration:
0.0002004280686378479outcome:
passed -
✅ Test 370
params: value=75, expected_bar_part="███████▌ "📌 Runtime Parameters
params: value: 75 expected_bar_part: ███████▌ id: 75-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c📌 Setup phase
duration:
0.00035446882247924805outcome:
passed📌 Call phase
duration:
0.00020288070663809776outcome:
passed📌 Teardown phase
duration:
0.0001920526847243309outcome:
passed -
✅ Test 371
params: value=90, expected_bar_part="█████████ "📌 Runtime Parameters
params: value: 90 expected_bar_part: █████████ id: 90-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588📌 Setup phase
duration:
0.00035709189251065254outcome:
passed📌 Call phase
duration:
0.00019146781414747238outcome:
passed📌 Teardown phase
duration:
0.0002028769813477993outcome:
passed -
✅ Test 372
params: value=100, expected_bar_part="██████████"📌 Runtime Parameters
params: value: 100 expected_bar_part: ██████████ id: 100-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588📌 Setup phase
duration:
0.000371699221432209outcome:
passed📌 Call phase
duration:
0.00019197212532162666outcome:
passed📌 Teardown phase
duration:
0.0002058246172964573outcome:
passed
-
-
📄 test_utils_readable.py
↳ Function: test_readable_seconds
-
✅ Test 373
params: seconds=59.4, expected="59 seconds"📌 Runtime Parameters
params: seconds: 59.4 expected: 59 seconds id: 59.4-59 seconds📌 Setup phase
duration:
0.0002290741540491581outcome:
passed📌 Call phase
duration:
0.00015195412561297417outcome:
passed📌 Teardown phase
duration:
0.0001450846903026104outcome:
passed -
✅ Test 374
params: seconds=59.9, expected="60 seconds"📌 Runtime Parameters
params: seconds: 59.9 expected: 60 seconds id: 59.9-60 seconds📌 Setup phase
duration:
0.00023705512285232544outcome:
passed📌 Call phase
duration:
0.00014244671911001205outcome:
passed📌 Teardown phase
duration:
0.00013726064935326576outcome:
passed -
✅ Test 375
params: seconds=119.9, expected="120 seconds"📌 Runtime Parameters
params: seconds: 119.9 expected: 120 seconds id: 119.9-120 seconds📌 Setup phase
duration:
0.0002238638699054718outcome:
passed📌 Call phase
duration:
0.00014410493895411491outcome:
passed📌 Teardown phase
duration:
0.00014149025082588196outcome:
passed -
✅ Test 376
params: seconds=120.1, expected="2 minutes"📌 Runtime Parameters
params: seconds: 120.1 expected: 2 minutes id: 120.1-2 minutes📌 Setup phase
duration:
0.000225801020860672outcome:
passed📌 Call phase
duration:
0.00013653887435793877outcome:
passed📌 Teardown phase
duration:
0.00014325184747576714outcome:
passed -
✅ Test 377
params: seconds=3599.9, expected="60 minutes"📌 Runtime Parameters
params: seconds: 3599.9 expected: 60 minutes id: 3599.9-60 minutes📌 Setup phase
duration:
0.00021827500313520432outcome:
passed📌 Call phase
duration:
0.00014456920325756073outcome:
passed📌 Teardown phase
duration:
0.00013497564941644669outcome:
passed -
✅ Test 378
params: seconds=3600.1, expected="60 minutes"📌 Runtime Parameters
params: seconds: 3600.1 expected: 60 minutes id: 3600.1-60 minutes📌 Setup phase
duration:
0.00022626621648669243outcome:
passed📌 Call phase
duration:
0.00014102598652243614outcome:
passed📌 Teardown phase
duration:
0.00013945717364549637outcome:
passed -
✅ Test 379
params: seconds=7199.9, expected="120 minutes"📌 Runtime Parameters
params: seconds: 7199.9 expected: 120 minutes id: 7199.9-120 minutes📌 Setup phase
duration:
0.00020988518372178078outcome:
passed📌 Call phase
duration:
0.00015132594853639603outcome:
passed📌 Teardown phase
duration:
0.00015442818403244019outcome:
passed -
✅ Test 380
params: seconds=7200.1, expected="2 hours"📌 Runtime Parameters
params: seconds: 7200.1 expected: 2 hours id: 7200.1-2 hours📌 Setup phase
duration:
0.00023342669010162354outcome:
passed📌 Call phase
duration:
0.000140403863042593outcome:
passed📌 Teardown phase
duration:
0.00014164764434099197outcome:
passed -
✅ Test 381
params: seconds=90.4, expected="90 seconds"📌 Runtime Parameters
params: seconds: 90.4 expected: 90 seconds id: 90.4-90 seconds📌 Setup phase
duration:
0.00022031599655747414outcome:
passed📌 Call phase
duration:
0.00013768812641501427outcome:
passed📌 Teardown phase
duration:
0.00013401871547102928outcome:
passed -
✅ Test 382
params: seconds=90.6, expected="91 seconds"📌 Runtime Parameters
params: seconds: 90.6 expected: 91 seconds id: 90.6-91 seconds📌 Setup phase
duration:
0.00022174417972564697outcome:
passed📌 Call phase
duration:
0.00026548514142632484outcome:
passed📌 Teardown phase
duration:
0.0001545799896121025outcome:
passed -
✅ Test 383
params: seconds=121.9, expected="2 minutes"📌 Runtime Parameters
params: seconds: 121.9 expected: 2 minutes id: 121.9-2 minutes📌 Setup phase
duration:
0.00023070210590958595outcome:
passed📌 Call phase
duration:
0.0001428350806236267outcome:
passed📌 Teardown phase
duration:
0.0001393081620335579outcome:
passed -
✅ Test 384
params: seconds=1296000.0, expected="2 weeks"📌 Runtime Parameters
params: seconds: 1296000.0 expected: 2 weeks id: 1296000.0-2 weeks📌 Setup phase
duration:
0.00022350996732711792outcome:
passed📌 Call phase
duration:
0.00013671210035681725outcome:
passed📌 Teardown phase
duration:
0.00013452768325805664outcome:
passed -
✅ Test 385
params: seconds=2592000.0, expected="4 weeks"📌 Runtime Parameters
params: seconds: 2592000.0 expected: 4 weeks id: 2592000.0-4 weeks📌 Setup phase
duration:
0.00023688329383730888outcome:
passed📌 Call phase
duration:
0.00014731194823980331outcome:
passed📌 Teardown phase
duration:
0.0001379121094942093outcome:
passed -
✅ Test 386
params: seconds=2800000.0, expected="5 weeks"📌 Runtime Parameters
params: seconds: 2800000.0 expected: 5 weeks id: 2800000.0-5 weeks📌 Setup phase
duration:
0.00021016690880060196outcome:
passed📌 Call phase
duration:
0.00013531697914004326outcome:
passed📌 Teardown phase
duration:
0.0001394166611135006outcome:
passed -
✅ Test 387
params: seconds=3888000.0, expected="6 weeks"📌 Runtime Parameters
params: seconds: 3888000.0 expected: 6 weeks id: 3888000.0-6 weeks📌 Setup phase
duration:
0.0002169930376112461outcome:
passed📌 Call phase
duration:
0.00013560475781559944outcome:
passed📌 Teardown phase
duration:
0.00013150600716471672outcome:
passed -
✅ Test 388
params: seconds=5097600.0, expected="8 weeks"📌 Runtime Parameters
params: seconds: 5097600.0 expected: 8 weeks id: 5097600.0-8 weeks📌 Setup phase
duration:
0.0002254219725728035outcome:
passed📌 Call phase
duration:
0.0001386459916830063outcome:
passed📌 Teardown phase
duration:
0.0001470646820962429outcome:
passed -
✅ Test 389
params: seconds=5184000.0, expected="9 weeks"📌 Runtime Parameters
params: seconds: 5184000.0 expected: 9 weeks id: 5184000.0-9 weeks📌 Setup phase
duration:
0.00021096272394061089outcome:
passed📌 Call phase
duration:
0.00014273682609200478outcome:
passed📌 Teardown phase
duration:
0.0001750662922859192outcome:
passed -
✅ Test 390
params: seconds=5270400.0, expected="2 months"📌 Runtime Parameters
params: seconds: 5270400.0 expected: 2 months id: 5270400.0-2 months📌 Setup phase
duration:
0.00022748298943042755outcome:
passed📌 Call phase
duration:
0.0001461980864405632outcome:
passed📌 Teardown phase
duration:
0.00015882914885878563outcome:
passed -
✅ Test 391
params: seconds=23328000.0, expected="9 months"📌 Runtime Parameters
params: seconds: 23328000.0 expected: 9 months id: 23328000.0-9 months📌 Setup phase
duration:
0.00022393232211470604outcome:
passed📌 Call phase
duration:
0.00014865724369883537outcome:
passed📌 Teardown phase
duration:
0.00013742409646511078outcome:
passed -
✅ Test 392
params: seconds=31104000.0, expected="12 months"📌 Runtime Parameters
params: seconds: 31104000.0 expected: 12 months id: 31104000.0-12 months📌 Setup phase
duration:
0.0002241469919681549outcome:
passed📌 Call phase
duration:
0.00014259899035096169outcome:
passed📌 Teardown phase
duration:
0.00014142272993922234outcome:
passed -
✅ Test 393
params: seconds=33696000.0, expected="13 months"📌 Runtime Parameters
params: seconds: 33696000.0 expected: 13 months id: 33696000.0-13 months📌 Setup phase
duration:
0.00024156318977475166outcome:
passed📌 Call phase
duration:
0.0002517448738217354outcome:
passed📌 Teardown phase
duration:
0.0001575942151248455outcome:
passed -
✅ Test 394
params: seconds=59616000.0, expected="23 months"📌 Runtime Parameters
params: seconds: 59616000.0 expected: 23 months id: 59616000.0-23 months📌 Setup phase
duration:
0.00023617874830961227outcome:
passed📌 Call phase
duration:
0.00015027960762381554outcome:
passed📌 Teardown phase
duration:
0.00015231221914291382outcome:
passed -
✅ Test 395
params: seconds=62208000.0, expected="24 months"📌 Runtime Parameters
params: seconds: 62208000.0 expected: 24 months id: 62208000.0-24 months📌 Setup phase
duration:
0.00021847477182745934outcome:
passed📌 Call phase
duration:
0.00014291470870375633outcome:
passed📌 Teardown phase
duration:
0.00014399085193872452outcome:
passed -
✅ Test 396
params: seconds=64208000.0, expected="2 years"📌 Runtime Parameters
params: seconds: 64208000.0 expected: 2 years id: 64208000.0-2 years📌 Setup phase
duration:
0.00022181589156389236outcome:
passed📌 Call phase
duration:
0.00013673119246959686outcome:
passed📌 Teardown phase
duration:
0.00014778133481740952outcome:
passed
-
-
📄 test_utils_registry.py
↳ Function: test_metaclass_creates_weakset
-
✅ Test 397
📌 Setup phase
duration:
0.0001217089593410492outcome:
passed📌 Call phase
duration:
0.0007034312002360821outcome:
passed📌 Teardown phase
duration:
0.00011261366307735443outcome:
passed
↳ Function: test_metaclass_tracks_instances
-
✅ Test 398
📌 Setup phase
duration:
0.00012861983850598335outcome:
passed📌 Call phase
duration:
0.00024104304611682892outcome:
passed📌 Teardown phase
duration:
0.00012070173397660255outcome:
passed
↳ Function: test_registry_inheritance
-
✅ Test 399
📌 Setup phase
duration:
0.00018631620332598686outcome:
passed📌 Call phase
duration:
0.0006457781419157982outcome:
passed📌 Teardown phase
duration:
0.00013346225023269653outcome:
passed
↳ Function: test_instance_tracking
-
✅ Test 400
📌 Setup phase
duration:
0.00018792878836393356outcome:
passed📌 Call phase
duration:
0.0002340329810976982outcome:
passed📌 Teardown phase
duration:
0.000126752071082592outcome:
passed
↳ Function: test_collect_instances_recursive
-
✅ Test 401
📌 Setup phase
duration:
0.00018340488895773888outcome:
passed📌 Call phase
duration:
0.0010356642305850983outcome:
passed📌 Teardown phase
duration:
0.00014618784189224243outcome:
passed
↳ Function: test_instances_function
-
✅ Test 402
📌 Setup phase
duration:
0.000196835957467556outcome:
passed📌 Call phase
duration:
0.0011060042306780815outcome:
passed📌 Teardown phase
duration:
0.0001389649696648121outcome:
passed
↳ Function: test_non_registry_class_error
-
✅ Test 403
📌 Setup phase
duration:
0.00012833112850785255outcome:
passed📌 Call phase
duration:
0.00022862199693918228outcome:
passed📌 Teardown phase
duration:
0.00012524332851171494outcome:
passed
↳ Function: test_signature_preservation
-
✅ Test 404
📌 Setup phase
duration:
0.00011808285489678383outcome:
passed📌 Call phase
duration:
0.0002668481320142746outcome:
passed📌 Teardown phase
duration:
0.00011643720790743828outcome:
passed
-
-
📄 test_utils_run_later.py
↳ Function: test_init_and_repr
-
✅ Test 406
📌 Setup phase
duration:
0.00015539396554231644outcome:
passed📌 Call phase
duration:
0.0002340199425816536outcome:
passed📌 Teardown phase
duration:
0.00011005112901329994outcome:
passed
↳ Function: test_call
-
✅ Test 407
📌 Setup phase
duration:
0.00011261599138379097outcome:
passed📌 Call phase
duration:
0.00017866399139165878outcome:
passed📌 Teardown phase
duration:
0.0001107160933315754outcome:
passed
↳ Function: test_matmul_with_string
-
✅ Test 408
📌 Setup phase
duration:
0.00010783132165670395outcome:
passed📌 Call phase
duration:
0.00015832995995879173outcome:
passed📌 Teardown phase
duration:
9.779958054423332e-05outcome:
passed
↳ Function: test_matmul_with_list
-
✅ Test 409
📌 Setup phase
duration:
0.0001024976372718811outcome:
passed📌 Call phase
duration:
0.00015588803216814995outcome:
passed📌 Teardown phase
duration:
0.00010147504508495331outcome:
passed
↳ Function: test_matmul_with_single_int
-
✅ Test 410
📌 Setup phase
duration:
0.00011737504974007607outcome:
passed📌 Call phase
duration:
0.00016083288937807083outcome:
passed📌 Teardown phase
duration:
9.904615581035614e-05outcome:
passed
↳ Function: test_run_at_future_triggered_and_logs
-
✅ Test 411
📌 Setup phase
duration:
0.00035898806527256966outcome:
passed📌 Call phase
duration:
0.20601736195385456outcome:
passedlog:
- name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415527.560634847 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1735732800.0315015 msecs: 31.50153160095215 relativeCreated: -18834717315.485237 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415527.661311770 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1735732800.1322165 msecs: 132.2164535522461 relativeCreated: -18834717214.770317 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908📌 Teardown phase
duration:
0.00034137722104787827outcome:
passed
↳ Function: test_run_at_already_past
-
✅ Test 412
📌 Setup phase
duration:
0.00034464476630091667outcome:
passed📌 Call phase
duration:
0.00035571400076150894outcome:
passed📌 Teardown phase
duration:
0.00018021324649453163outcome:
passed
↳ Function: test_run_in_future_triggered_and_logs
-
✅ Test 413
📌 Setup phase
duration:
0.00025921501219272614outcome:
passed📌 Call phase
duration:
0.2022018302232027outcome:
passedlog:
- name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415527.762053010 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1735732800.023684 msecs: 23.684024810791016 relativeCreated: -18834717323.302746 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415527.862702917 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1735732800.1243677 msecs: 124.36771392822266 relativeCreated: -18834717222.619057 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908📌 Teardown phase
duration:
0.00034958217293024063outcome:
passed
↳ Function: test_run_in_past
-
✅ Test 414
📌 Setup phase
duration:
0.00036233197897672653outcome:
passed📌 Call phase
duration:
0.00039321882650256157outcome:
passed📌 Teardown phase
duration:
0.00018370570614933968outcome:
passed
↳ Function: test_run_later_with_seconds
-
✅ Test 415
📌 Setup phase
duration:
0.00026016682386398315outcome:
passed📌 Call phase
duration:
0.20231033209711313outcome:
passedlog:
- name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415527.963407127 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1735740000.0193036 msecs: 19.303560256958008 relativeCreated: -18827517327.683212 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415528.64140560 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1735740000.1200416 msecs: 120.0416088104248 relativeCreated: -18827517226.94516 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908📌 Teardown phase
duration:
0.000340108759701252outcome:
passed
↳ Function: test_run_later_with_past_datetime
-
✅ Test 416
📌 Setup phase
duration:
0.0003784140571951866outcome:
passed📌 Call phase
duration:
0.00038775987923145294outcome:
passed📌 Teardown phase
duration:
0.00020198989659547806outcome:
passed
↳ Function: test_run_at_tqdm_multiple_updates
-
✅ Test 417
📌 Setup phase
duration:
0.00034612417221069336outcome:
passed📌 Call phase
duration:
0.20217884704470634outcome:
passedlog:
- name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415528.164933138 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567528.1651025 msecs: 165.10248184204102 relativeCreated: 10818.115711212158 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415528.265753773 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567528.2658968 msecs: 265.8967971801758 relativeCreated: 10918.910026550293 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908📌 Teardown phase
duration:
0.0004042992368340492outcome:
passed
↳ Function: test_today_basic
-
✅ Test 418
📌 Setup phase
duration:
0.00016597704961895943outcome:
passed📌 Call phase
duration:
0.0008756630122661591outcome:
passed📌 Teardown phase
duration:
0.0001971968449652195outcome:
passed
↳ Function: test_tomorrow_basic
-
✅ Test 419
📌 Setup phase
duration:
0.00014029862359166145outcome:
passed📌 Call phase
duration:
0.0006659389473497868outcome:
passed📌 Teardown phase
duration:
0.00013002706691622734outcome:
passed
↳ Function: test_yesterday_basic
-
✅ Test 420
📌 Setup phase
duration:
0.0001211073249578476outcome:
passed📌 Call phase
duration:
0.0004251701757311821outcome:
passed📌 Teardown phase
duration:
0.00011827796697616577outcome:
passed
↳ Function: test_today_matmul_string
-
✅ Test 421
📌 Setup phase
duration:
0.00012829666957259178outcome:
passed📌 Call phase
duration:
0.000373931135982275outcome:
passed📌 Teardown phase
duration:
0.00012942124158143997outcome:
passed
↳ Function: test_tomorrow_matmul_list
-
✅ Test 422
📌 Setup phase
duration:
0.00011204276233911514outcome:
passed📌 Call phase
duration:
0.0003984179347753525outcome:
passed📌 Teardown phase
duration:
0.00011913897469639778outcome:
passed
↳ Function: test_yesterday_matmul_single
-
✅ Test 423
📌 Setup phase
duration:
0.00011528376489877701outcome:
passed📌 Call phase
duration:
0.00033691106364130974outcome:
passed📌 Teardown phase
duration:
0.0001249578781425953outcome:
passed
-
-
📄 test_utils_sendmail.py
↳ Function: test_sendmail_real_local_verbose
-
✅ Test 424
📌 Setup phase
duration:
0.00012119114398956299outcome:
passed📌 Call phase
duration:
2.0157240387052298outcome:
passedlog:
- name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415528.369226776 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567528.3698063 msecs: 369.80628967285156 relativeCreated: 11022.819519042969 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415528.470726449 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567528.470875 msecs: 470.8750247955322 relativeCreated: 11123.88825416565 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415528.571367019 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567528.5715053 msecs: 571.5053081512451 relativeCreated: 11224.518537521362 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415528.672013128 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567528.672149 msecs: 672.1489429473877 relativeCreated: 11325.162172317505 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415528.772729507 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567528.772962 msecs: 772.9620933532715 relativeCreated: 11425.975322723389 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415528.873741883 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567528.874039 msecs: 874.0389347076416 relativeCreated: 11527.052164077759 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415528.974919208 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567528.9752474 msecs: 975.2473831176758 relativeCreated: 11628.260612487793 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415529.75977423 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567529.0761237 msecs: 76.12371444702148 relativeCreated: 11729.136943817139 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415529.176659776 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567529.176819 msecs: 176.8190860748291 relativeCreated: 11829.832315444946 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415529.277370241 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567529.277557 msecs: 277.5568962097168 relativeCreated: 11930.570125579834 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415529.378087783 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567529.3782263 msecs: 378.22628021240234 relativeCreated: 12031.23950958252 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415529.478757681 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567529.47891 msecs: 478.909969329834 relativeCreated: 12131.923198699951 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415529.579503311 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567529.5797074 msecs: 579.7073841094971 relativeCreated: 12232.720613479614 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415529.680330546 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567529.6804855 msecs: 680.4854869842529 relativeCreated: 12333.49871635437 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415529.781084912 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567529.7812793 msecs: 781.2793254852295 relativeCreated: 12434.292554855347 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415529.881928714 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567529.882179 msecs: 882.1790218353271 relativeCreated: 12535.192251205444 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415529.982840659 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567529.9829845 msecs: 982.9845428466797 relativeCreated: 12635.997772216797 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415530.83547074 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567530.083713 msecs: 83.71305465698242 relativeCreated: 12736.7262840271 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415530.184246310 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567530.1843889 msecs: 184.3888759613037 relativeCreated: 12837.40210533142 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415530.284912724 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567530.2850728 msecs: 285.07280349731445 relativeCreated: 12938.086032867432 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908📌 Teardown phase
duration:
0.00033067911863327026outcome:
passed
-
-
📄 test_utils_shortcut.py
↳ Function: TestShortcutInitialization
-
✅ Test 425
📌 Setup phase
duration:
0.00041833100840449333outcome:
passed📌 Call phase
duration:
0.0007542031817138195outcome:
passed📌 Teardown phase
duration:
0.00018832692876458168outcome:
passed -
✅ Test 426
📌 Setup phase
duration:
0.0002555958926677704outcome:
passed📌 Call phase
duration:
0.00016660289838910103outcome:
passed📌 Teardown phase
duration:
0.00018635671585798264outcome:
passed
↳ Function: test_run_method
-
✅ Test 427
📌 Setup phase
duration:
0.0005090199410915375outcome:
passed📌 Call phase
duration:
0.001264355145394802outcome:
passedlog:
- name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415530.386341673 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567530.3866136 msecs: 386.6136074066162 relativeCreated: 13039.626836776733 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908📌 Teardown phase
duration:
0.00022920174524188042outcome:
passed
↳ Function: test_repr_output
-
✅ Test 428
📌 Setup phase
duration:
0.00018800003454089165outcome:
passed📌 Call phase
duration:
0.00019363313913345337outcome:
passed📌 Teardown phase
duration:
0.0001658909022808075outcome:
passed
↳ Function: test_source_with_regular_function
-
✅ Test 429
📌 Setup phase
duration:
0.00020205415785312653outcome:
passed📌 Call phase
duration:
0.0007281131111085415outcome:
passed📌 Teardown phase
duration:
0.00016000261530280113outcome:
passed
↳ Function: test_source_error_handling
-
✅ Test 430
📌 Setup phase
duration:
0.00020214682444930077outcome:
passed📌 Call phase
duration:
0.0009800898842513561outcome:
passed📌 Teardown phase
duration:
0.00015106704086065292outcome:
passed
↳ Function: test_as_shortcut_basic
-
✅ Test 431
📌 Setup phase
duration:
0.00022448133677244186outcome:
passed📌 Call phase
duration:
0.00018735090270638466outcome:
passed📌 Teardown phase
duration:
0.00013135187327861786outcome:
passed
↳ Function: test_as_shortcut_with_name
-
✅ Test 432
📌 Setup phase
duration:
0.0001907837577164173outcome:
passed📌 Call phase
duration:
0.00015336694195866585outcome:
passed📌 Teardown phase
duration:
0.0001938208006322384outcome:
passed
↳ Function: test_as_shortcut_factory_pattern
-
✅ Test 433
📌 Setup phase
duration:
0.00023047905415296555outcome:
passed📌 Call phase
duration:
0.00035353610292077065outcome:
passed📌 Teardown phase
duration:
0.00015026703476905823outcome:
passed
↳ Function: TestShortcutsSingleton
-
✅ Test 434
📌 Setup phase
duration:
0.00032940180972218513outcome:
passed📌 Call phase
duration:
0.00014535384252667427outcome:
passed📌 Teardown phase
duration:
0.00015687989071011543outcome:
passed -
✅ Test 435
📌 Setup phase
duration:
0.00043846620246768outcome:
passed📌 Call phase
duration:
0.0002860166132450104outcome:
passed📌 Teardown phase
duration:
0.00017644930630922318outcome:
passed -
✅ Test 436
📌 Setup phase
duration:
0.0002770400606095791outcome:
passed📌 Call phase
duration:
0.00022842874750494957outcome:
passed📌 Teardown phase
duration:
0.00017323624342679977outcome:
passed -
✅ Test 437
📌 Setup phase
duration:
0.0002560289576649666outcome:
passed📌 Call phase
duration:
0.00021644402295351028outcome:
passed📌 Teardown phase
duration:
0.00016097212210297585outcome:
passed -
✅ Test 438
📌 Setup phase
duration:
0.00026177428662776947outcome:
passed📌 Call phase
duration:
0.0002655196003615856outcome:
passed📌 Teardown phase
duration:
0.00015914393588900566outcome:
passed
↳ Function: TestFullIntegration
-
✅ Test 439
📌 Setup phase
duration:
0.00042255502194166183outcome:
passed📌 Call phase
duration:
0.0007610898464918137outcome:
passed📌 Teardown phase
duration:
0.00024223420768976212outcome:
passed -
✅ Test 440
📌 Setup phase
duration:
0.0002785087563097477outcome:
passed📌 Call phase
duration:
0.000237190630286932outcome:
passed📌 Teardown phase
duration:
0.00016573723405599594outcome:
passed
↳ Function: test_registry_inheritance
-
✅ Test 441
📌 Setup phase
duration:
0.00019656028598546982outcome:
passed📌 Call phase
duration:
0.0001374608837068081outcome:
passed📌 Teardown phase
duration:
0.00013593584299087524outcome:
passed
-
-
📄 test_utils_snapshot.py
↳ Function: test_snapshot
-
✅ Test 442
params: test_input="v1", "Visible", false], ["h1", "Hidden", true, expected=["Visible"], kwargs={}📌 Runtime Parameters
params: test_input: - - v1 - Visible - (vide) - - h1 - Hidden - True expected: - Visible kwargs: {} id: exclude_internals📌 Setup phase
duration:
0.0003038691356778145outcome:
passed📌 Call phase
duration:
0.0006942157633602619outcome:
passed📌 Teardown phase
duration:
0.00017812801524996758outcome:
passed -
✅ Test 443
params: test_input="v1", "Visible", false], ["h1", "Hidden", true, expected=["Visible", "Hidden"], kwargs={"include_internal": true}📌 Runtime Parameters
params: test_input: - - v1 - Visible - (vide) - - h1 - Hidden - True expected: - Visible - Hidden kwargs: include_internal: True id: include_internals📌 Setup phase
duration:
0.0003016437403857708outcome:
passed📌 Call phase
duration:
0.0005030450411140919outcome:
passed📌 Teardown phase
duration:
0.00018587196245789528outcome:
passed -
✅ Test 444
params: test_input=[], expected=[], kwargs={}📌 Runtime Parameters
params: test_input: [] expected: [] kwargs: {} id: empty_case📌 Setup phase
duration:
0.0002821497619152069outcome:
passed📌 Call phase
duration:
0.00015374226495623589outcome:
passed📌 Teardown phase
duration:
0.00017325906082987785outcome:
passed -
✅ Test 445
params: test_input="3", "Charlie"], ["1", "Alpha"], ["2", "Beta", expected=["Alpha", "Beta", "Charlie"], kwargs="{'sort_key': }"📌 Runtime Parameters
params: test_input: - - 3 - Charlie - - 1 - Alpha - - 2 - Beta expected: - Alpha - Beta - Charlie kwargs: {'sort_key': <class 'str'>} id: sort_str📌 Setup phase
duration:
0.00030522700399160385outcome:
passed📌 Call phase
duration:
0.0006200489588081837outcome:
passed📌 Teardown phase
duration:
0.00018828315660357475outcome:
passed -
✅ Test 446
params: test_input="z3", "C"], ["a1", "A"], ["m2", "B", expected=["A", "B", "C"], kwargs="{'sort_key': at 0x7f30ab4f6310>}"📌 Runtime Parameters
params: test_input: - - z3 - C - - a1 - A - - m2 - B expected: - A - B - C kwargs: {'sort_key': <function <lambda> at 0x7f30ab4f6310>} id: sort_id📌 Setup phase
duration:
0.0002918438985943794outcome:
passed📌 Call phase
duration:
0.0007434259168803692outcome:
passed📌 Teardown phase
duration:
0.0001923060044646263outcome:
passed -
✅ Test 447
params: test_input="3", "Charlie"], ["1", "alpha"], ["2", "Beta", expected=["alpha", "Beta", "Charlie"], kwargs="{'sort_key': at 0x7f30ab4f63a0>}"📌 Runtime Parameters
params: test_input: - - 3 - Charlie - - 1 - alpha - - 2 - Beta expected: - alpha - Beta - Charlie kwargs: {'sort_key': <function <lambda> at 0x7f30ab4f63a0>} id: sort_case_insensitive📌 Setup phase
duration:
0.0003029857762157917outcome:
passed📌 Call phase
duration:
0.0005818861536681652outcome:
passed📌 Teardown phase
duration:
0.0001832740381360054outcome:
passed -
✅ Test 448
params: test_input="1", "A"], ["2", "BB"], ["3", "CCC", expected=["A", "BB", "CCC"], kwargs="{'sort_key': at 0x7f30ab4f6430>}"📌 Runtime Parameters
params: test_input: - - 1 - A - - 2 - BB - - 3 - CCC expected: - A - BB - CCC kwargs: {'sort_key': <function <lambda> at 0x7f30ab4f6430>} id: sort_length📌 Setup phase
duration:
0.0002978467382490635outcome:
passed📌 Call phase
duration:
0.0007204138673841953outcome:
passed📌 Teardown phase
duration:
0.00018824497237801552outcome:
passed -
✅ Test 449
params: test_input="1", "A"], ["2", "B"], ["3", "C", expected=["C", "B", "A"], kwargs="{'sort_key': at 0x7f30ab4f64c0>}"📌 Runtime Parameters
params: test_input: - - 1 - A - - 2 - B - - 3 - C expected: - C - B - A kwargs: {'sort_key': <function <lambda> at 0x7f30ab4f64c0>} id: sort_reverse📌 Setup phase
duration:
0.0002975650131702423outcome:
passed📌 Call phase
duration:
0.0005520698614418507outcome:
passed📌 Teardown phase
duration:
0.00018140720203518867outcome:
passed
-
-
📄 test_utils_termtitle.py
↳ Function: test_terminal_title_with_tmux
-
✅ Test 450
📌 Setup phase
duration:
0.00013805320486426353outcome:
passed📌 Call phase
duration:
0.021189338993281126outcome:
passed📌 Teardown phase
duration:
0.0002741939388215542outcome:
passed
-
-
📄 test_utils_tqdm_mod.py
↳ Function: test_complete_progress_bar
-
✅ Test 451
📌 Setup phase
duration:
0.00019494863227009773outcome:
passed📌 Call phase
duration:
0.0044287871569395065outcome:
passed📌 Teardown phase
duration:
0.00014464836567640305outcome:
passed
↳ Function: test_set_progress_multiple_points
-
✅ Test 452
📌 Setup phase
duration:
0.00013404013589024544outcome:
passed📌 Call phase
duration:
0.0018198499456048012outcome:
passed📌 Teardown phase
duration:
0.0001375703141093254outcome:
passed
↳ Function: test_format_sizeof_alignment
-
✅ Test 453
📌 Setup phase
duration:
0.0001262947916984558outcome:
passed📌 Call phase
duration:
0.00016497494652867317outcome:
passed📌 Teardown phase
duration:
0.00011781789362430573outcome:
passed
↳ Function: test_custom_unit
-
✅ Test 455
📌 Setup phase
duration:
0.00013924716040492058outcome:
passed📌 Call phase
duration:
0.005039923824369907outcome:
passed📌 Teardown phase
duration:
0.00014319829642772675outcome:
passed
↳ Function: test_clamp_above_total
-
✅ Test 456
📌 Setup phase
duration:
0.00013331416994333267outcome:
passed📌 Call phase
duration:
0.0005728849209845066outcome:
passed📌 Teardown phase
duration:
0.00013310695067048073outcome:
passed
↳ Function: test_clamp_below_zero
-
✅ Test 457
📌 Setup phase
duration:
0.00014118803665041924outcome:
passed📌 Call phase
duration:
0.000752587802708149outcome:
passed📌 Teardown phase
duration:
0.00014781486243009567outcome:
passed
-
-
📄 test_utils_trinary.py
↳ Function: test_check_trinary_valid_values
-
✅ Test 458
📌 Setup phase
duration:
0.00014802999794483185outcome:
passed📌 Call phase
duration:
0.00019775936380028725outcome:
passed📌 Teardown phase
duration:
0.00011744815856218338outcome:
passed
↳ Function: test_check_trinary_invalid_value
-
✅ Test 459
📌 Setup phase
duration:
0.0001494712196290493outcome:
passed📌 Call phase
duration:
0.00045921700075268745outcome:
passed📌 Teardown phase
duration:
0.0001405961811542511outcome:
passed
↳ Function: test_check_trinary_with_custom_allowed_values
-
✅ Test 460
📌 Setup phase
duration:
0.0001433398574590683outcome:
passed📌 Call phase
duration:
0.00021005701273679733outcome:
passed📌 Teardown phase
duration:
0.00011231377720832825outcome:
passed
-
-
📄 test_utils_typecast.py
↳ Function: test_downcast_success
-
✅ Test 461
📌 Setup phase
duration:
0.0001358557492494583outcome:
passed📌 Call phase
duration:
0.0001654094085097313outcome:
passed📌 Teardown phase
duration:
0.00012653600424528122outcome:
passed
↳ Function: test_upcast_success
-
✅ Test 462
📌 Setup phase
duration:
0.00011891033500432968outcome:
passed📌 Call phase
duration:
0.00017350772395730019outcome:
passed📌 Teardown phase
duration:
0.00011118920519948006outcome:
passed
↳ Function: test_downcast_invalid
-
✅ Test 463
📌 Setup phase
duration:
0.00011567585170269012outcome:
passed📌 Call phase
duration:
0.0005478439852595329outcome:
passed📌 Teardown phase
duration:
0.0001242603175342083outcome:
passed
↳ Function: test_upcast_invalid
-
✅ Test 464
📌 Setup phase
duration:
0.00011384394019842148outcome:
passed📌 Call phase
duration:
0.00018500769510865211outcome:
passed📌 Teardown phase
duration:
0.00010976335033774376outcome:
passed
↳ Function: test_object_identity_preserved
-
✅ Test 465
📌 Setup phase
duration:
0.00012105610221624374outcome:
passed📌 Call phase
duration:
0.0001503853127360344outcome:
passed📌 Teardown phase
duration:
0.00010778801515698433outcome:
passed
↳ Function: test_ensure_subclass_valid
-
✅ Test 466
📌 Setup phase
duration:
0.0001080390065908432outcome:
passed📌 Call phase
duration:
0.00014290772378444672outcome:
passed📌 Teardown phase
duration:
0.0001023230142891407outcome:
passed
↳ Function: test_ensure_subclass_invalid
-
✅ Test 467
📌 Setup phase
duration:
0.00011755479499697685outcome:
passed📌 Call phase
duration:
0.00017319712787866592outcome:
passed📌 Teardown phase
duration:
0.00010319612920284271outcome:
passed
↳ Function: test_cast_changes_class
-
✅ Test 468
📌 Setup phase
duration:
0.00010661408305168152outcome:
passed📌 Call phase
duration:
0.00016491813585162163outcome:
passed📌 Teardown phase
duration:
0.00011604372411966324outcome:
passed
↳ Function: test_cast_preserves_identity
-
✅ Test 469
📌 Setup phase
duration:
0.00011542113497853279outcome:
passed📌 Call phase
duration:
0.0001355428248643875outcome:
passed📌 Teardown phase
duration:
0.00011729774996638298outcome:
passed
-
-
📄 test_utils_utils.py
↳ Function: test_singleton_instance
-
✅ Test 470
📌 Setup phase
duration:
0.0001216009259223938outcome:
passed📌 Call phase
duration:
0.00016371766105294228outcome:
passed📌 Teardown phase
duration:
0.00010601524263620377outcome:
passed
↳ Function: test_singleton_identity
-
✅ Test 471
📌 Setup phase
duration:
0.00011402927339076996outcome:
passed📌 Call phase
duration:
0.00013914471492171288outcome:
passed📌 Teardown phase
duration:
0.00010724784806370735outcome:
passed
↳ Function: test_typename
-
✅ Test 472
params: obj=null, expected="NoneType"📌 Runtime Parameters
params: obj: None expected: NoneType id: None-NoneType📌 Setup phase
duration:
0.00033599184826016426outcome:
passed📌 Call phase
duration:
0.000184657983481884outcome:
passed📌 Teardown phase
duration:
0.00017342297360301018outcome:
passed -
✅ Test 473
params: obj=true, expected="bool"📌 Runtime Parameters
params: obj: True expected: bool id: True-bool📌 Setup phase
duration:
0.0002737147733569145outcome:
passed📌 Call phase
duration:
0.00014974083751440048outcome:
passed📌 Teardown phase
duration:
0.00014798995107412338outcome:
passed -
✅ Test 474
params: obj=42, expected="int"📌 Runtime Parameters
params: obj: 42 expected: int id: 42-int📌 Setup phase
duration:
0.00022376235574483871outcome:
passed📌 Call phase
duration:
0.00013854308053851128outcome:
passed📌 Teardown phase
duration:
0.00017213309183716774outcome:
passed -
✅ Test 475
params: obj=3.14, expected="float"📌 Runtime Parameters
params: obj: 3.14 expected: float id: 3.14-float📌 Setup phase
duration:
0.0002425108104944229outcome:
passed📌 Call phase
duration:
0.00015115365386009216outcome:
passed📌 Teardown phase
duration:
0.00014031631872057915outcome:
passed -
✅ Test 476
params: obj="text", expected="str"📌 Runtime Parameters
params: obj: text expected: str id: text-str📌 Setup phase
duration:
0.00022957706823945045outcome:
passed📌 Call phase
duration:
0.00014665257185697556outcome:
passed📌 Teardown phase
duration:
0.00014230096712708473outcome:
passed -
✅ Test 477
params: obj="{1, 2, 3}", expected="set"📌 Runtime Parameters
params: obj: {1, 2, 3} expected: set id: obj5-set📌 Setup phase
duration:
0.00022803060710430145outcome:
passed📌 Call phase
duration:
0.00013592327013611794outcome:
passed📌 Teardown phase
duration:
0.00015361187979578972outcome:
passed -
✅ Test 478
params: obj=1], [2, 3, expected="list"📌 Runtime Parameters
params: obj: - - 1 - - 2 - 3 expected: list id: obj6-list📌 Setup phase
duration:
0.00023731496185064316outcome:
passed📌 Call phase
duration:
0.00015334365889430046outcome:
passed📌 Teardown phase
duration:
0.00015685008838772774outcome:
passed -
✅ Test 479
params: obj=[{"a": [1, 2]}, {"b": [3, 4]}], expected="list"📌 Runtime Parameters
params: obj: - a: - 1 - 2 - b: - 3 - 4 expected: list id: obj7-list📌 Setup phase
duration:
0.00022611580789089203outcome:
passed📌 Call phase
duration:
0.00014878297224640846outcome:
passed📌 Teardown phase
duration:
0.00014994293451309204outcome:
passed -
✅ Test 480
params: obj={"key": [{"nested": 1}, [2, 3]]}, expected="dict"📌 Runtime Parameters
params: obj: key: - nested: 1 - - 2 - 3 expected: dict id: obj8-dict📌 Setup phase
duration:
0.00023444974794983864outcome:
passed📌 Call phase
duration:
0.0001370348036289215outcome:
passed📌 Teardown phase
duration:
0.00016529206186532974outcome:
passed -
✅ Test 481
params: obj=" at 0x7f30ab514e50>", expected="function"📌 Runtime Parameters
params: obj: <function <lambda> at 0x7f30ab514e50> expected: function id: <lambda>-function📌 Setup phase
duration:
0.0003618369810283184outcome:
passed📌 Call phase
duration:
0.00014564627781510353outcome:
passed📌 Teardown phase
duration:
0.00014390982687473297outcome:
passed -
✅ Test 482
params: obj="", expected="function"📌 Runtime Parameters
params: obj: <function sample_function at 0x7f30ab514dc0> expected: function id: sample_function-function📌 Setup phase
duration:
0.00022786203771829605outcome:
passed📌 Call phase
duration:
0.00015354901552200317outcome:
passed📌 Teardown phase
duration:
0.00014176219701766968outcome:
passed -
✅ Test 483
params: obj=".nested at 0x7f30ab514ee0>", expected="function"📌 Runtime Parameters
params: obj: <function sample_function.<locals>.nested at 0x7f30ab514ee0> expected: function id: nested-function📌 Setup phase
duration:
0.00021681096404790878outcome:
passed📌 Call phase
duration:
0.00013498682528734207outcome:
passed📌 Teardown phase
duration:
0.00014358572661876678outcome:
passed -
✅ Test 484
params: obj="", expected="builtin_function_or_method"📌 Runtime Parameters
params: obj: <built-in function len> expected: builtin_function_or_method id: len-builtin_function_or_method📌 Setup phase
duration:
0.00023593474179506302outcome:
passed📌 Call phase
duration:
0.00013537611812353134outcome:
passed📌 Teardown phase
duration:
0.00015989691019058228outcome:
passed -
✅ Test 485
params: obj="", expected="builtin_function_or_method"📌 Runtime Parameters
params: obj: <built-in function sum> expected: builtin_function_or_method id: sum-builtin_function_or_method📌 Setup phase
duration:
0.0002429378218948841outcome:
passed📌 Call phase
duration:
0.0001460779458284378outcome:
passed📌 Teardown phase
duration:
0.0001406990922987461outcome:
passed -
✅ Test 486
params: obj="", expected="module"📌 Runtime Parameters
params: obj: <module 'math' from '/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/lib-dynload/math.cpython-38-x86_64-linux-gnu.so'> expected: module id: math-module📌 Setup phase
duration:
0.00021621910855174065outcome:
passed📌 Call phase
duration:
0.0001360122114419937outcome:
passed📌 Teardown phase
duration:
0.00014513684436678886outcome:
passed -
✅ Test 487
params: obj="", expected="module"📌 Runtime Parameters
params: obj: <module 'sys' (built-in)> expected: module id: sys-module📌 Setup phase
duration:
0.00022088922560214996outcome:
passed📌 Call phase
duration:
0.00013383431360125542outcome:
passed📌 Teardown phase
duration:
0.00013638800010085106outcome:
passed -
✅ Test 488
params: obj="", expected="type"📌 Runtime Parameters
params: obj: <class 'function'> expected: type id: function-type📌 Setup phase
duration:
0.0002386779524385929outcome:
passed📌 Call phase
duration:
0.00013730674982070923outcome:
passed📌 Teardown phase
duration:
0.00013842107728123665outcome:
passed -
✅ Test 489
params: obj=" at 0x7f30ab3342e0>", expected="generator"📌 Runtime Parameters
params: obj: <generator object <genexpr> at 0x7f30ab3342e0> expected: generator id: <genexpr>-generator📌 Setup phase
duration:
0.00021189823746681213outcome:
passed📌 Call phase
duration:
0.00013195397332310677outcome:
passed📌 Teardown phase
duration:
0.00015396997332572937outcome:
passed -
✅ Test 490
params: obj="", expected="list_iterator"📌 Runtime Parameters
params: obj: <list_iterator object at 0x7f30ab32cc10> expected: list_iterator id: obj18-list_iterator📌 Setup phase
duration:
0.00022852513939142227outcome:
passed📌 Call phase
duration:
0.00014860695227980614outcome:
passed📌 Teardown phase
duration:
0.00014169001951813698outcome:
passed
↳ Function: test_next_int
-
✅ Test 491
params: nums=[1, 2, 3], expected=4📌 Runtime Parameters
params: nums: - 1 - 2 - 3 expected: 4 id: nums0-4📌 Setup phase
duration:
0.0002385876141488552outcome:
passed📌 Call phase
duration:
0.00015277834609150887outcome:
passed📌 Teardown phase
duration:
0.00014968076720833778outcome:
passed -
✅ Test 492
params: nums=[10, 20], expected=21📌 Runtime Parameters
params: nums: - 10 - 20 expected: 21 id: nums1-21📌 Setup phase
duration:
0.00024537602439522743outcome:
passed📌 Call phase
duration:
0.00014563696458935738outcome:
passed📌 Teardown phase
duration:
0.00014221621677279472outcome:
passed -
✅ Test 493
params: nums=[], expected=0📌 Runtime Parameters
params: nums: [] expected: 0 id: nums2-0📌 Setup phase
duration:
0.0002170647494494915outcome:
passed📌 Call phase
duration:
0.00013544876128435135outcome:
passed📌 Teardown phase
duration:
0.00015596207231283188outcome:
passed
↳ Function: test_zero_pad
-
✅ Test 494
params: i=7, n=3, expected="007"📌 Runtime Parameters
params: i: 7 n: 3 expected: 007 id: 7-3-007📌 Setup phase
duration:
0.00027374038472771645outcome:
passed📌 Call phase
duration:
0.00015230895951390266outcome:
passed📌 Teardown phase
duration:
0.00015234807506203651outcome:
passed -
✅ Test 495
params: i=123, n=5, expected="00123"📌 Runtime Parameters
params: i: 123 n: 5 expected: 00123 id: 123-5-00123📌 Setup phase
duration:
0.00027561699971556664outcome:
passed📌 Call phase
duration:
0.0001400732435286045outcome:
passed📌 Teardown phase
duration:
0.00015374412760138512outcome:
passed -
✅ Test 496
params: i=0, n=2, expected="00"📌 Runtime Parameters
params: i: 0 n: 2 expected: 00 id: 0-2-00📌 Setup phase
duration:
0.0002795676700770855outcome:
passed📌 Call phase
duration:
0.00014049094170331955outcome:
passed📌 Teardown phase
duration:
0.00020851986482739449outcome:
passed
↳ Function: test_iround
-
✅ Test 497
params: val=3.6, expected=4📌 Runtime Parameters
params: val: 3.6 expected: 4 id: 3.6-4📌 Setup phase
duration:
0.00024146819487214088outcome:
passed📌 Call phase
duration:
0.0001490679569542408outcome:
passed📌 Teardown phase
duration:
0.00014725793153047562outcome:
passed -
✅ Test 498
params: val=2.1, expected=2📌 Runtime Parameters
params: val: 2.1 expected: 2 id: 2.1-2📌 Setup phase
duration:
0.0002451757900416851outcome:
passed📌 Call phase
duration:
0.0001455424353480339outcome:
passed📌 Teardown phase
duration:
0.00014209002256393433outcome:
passed -
✅ Test 499
params: val=-1.5, expected=-2📌 Runtime Parameters
params: val: -1.5 expected: -2 id: -1.5--2📌 Setup phase
duration:
0.00023375404998660088outcome:
passed📌 Call phase
duration:
0.00013647926971316338outcome:
passed📌 Teardown phase
duration:
0.00015279091894626617outcome:
passed -
✅ Test 500
params: val=-1.4, expected=-1📌 Runtime Parameters
params: val: -1.4 expected: -1 id: -1.4--1📌 Setup phase
duration:
0.00023414380848407745outcome:
passed📌 Call phase
duration:
0.00013979710638523102outcome:
passed📌 Teardown phase
duration:
0.00014819903299212456outcome:
passed
↳ Function: test_sorted_naturally
-
✅ Test 501
params: items=["file1", "file10", "file2"], expected=["file1", "file2", "file10"]📌 Runtime Parameters
params: items: - file1 - file10 - file2 expected: - file1 - file2 - file10 id: items0-expected0📌 Setup phase
duration:
0.00023172982037067413outcome:
passed📌 Call phase
duration:
0.00019584503024816513outcome:
passed📌 Teardown phase
duration:
0.00015875278040766716outcome:
passed -
✅ Test 502
params: items=["z9", "z10", "z2", "z1"], expected=["z1", "z2", "z9", "z10"]📌 Runtime Parameters
params: items: - z9 - z10 - z2 - z1 expected: - z1 - z2 - z9 - z10 id: items1-expected1📌 Setup phase
duration:
0.00023963861167430878outcome:
passed📌 Call phase
duration:
0.00017919717356562614outcome:
passed📌 Teardown phase
duration:
0.0001449231058359146outcome:
passed
↳ Function: test_sorted_naturally_reverse
-
✅ Test 503
params: items=["file1", "file10", "file2"], expected=["file10", "file2", "file1"]📌 Runtime Parameters
params: items: - file1 - file10 - file2 expected: - file10 - file2 - file1 id: items0-expected0📌 Setup phase
duration:
0.0002610781230032444outcome:
passed📌 Call phase
duration:
0.0001910179853439331outcome:
passed📌 Teardown phase
duration:
0.000151065643876791outcome:
passed
-
-
📄 test_utils_xrange.py
↳ Function: test_xrange_finite
-
✅ Test 504
params: args=[10], kwargs={}, expected=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]📌 Runtime Parameters
params: args: - 10 kwargs: {} expected: - (vide) - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 id: args0-kwargs0-expected0📌 Setup phase
duration:
0.00031980080530047417outcome:
passed📌 Call phase
duration:
0.00017374427989125252outcome:
passed📌 Teardown phase
duration:
0.00016522500663995743outcome:
passed -
✅ Test 505
params: args=[0, 10], kwargs={}, expected=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]📌 Runtime Parameters
params: args: - (vide) - 10 kwargs: {} expected: - (vide) - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 id: args1-kwargs1-expected1📌 Setup phase
duration:
0.0002700192853808403outcome:
passed📌 Call phase
duration:
0.00025516003370285034outcome:
passed📌 Teardown phase
duration:
0.00017283810302615166outcome:
passed -
✅ Test 506
params: args=[0, 10, 2], kwargs={}, expected=[0, 2, 4, 6, 8]📌 Runtime Parameters
params: args: - (vide) - 10 - 2 kwargs: {} expected: - (vide) - 2 - 4 - 6 - 8 id: args2-kwargs2-expected2📌 Setup phase
duration:
0.000273887999355793outcome:
passed📌 Call phase
duration:
0.0001539238728582859outcome:
passed📌 Teardown phase
duration:
0.0001696990802884102outcome:
passed -
✅ Test 507
params: args=[10], kwargs={"step": 2}, expected=[0, 2, 4, 6, 8]📌 Runtime Parameters
params: args: - 10 kwargs: step: 2 expected: - (vide) - 2 - 4 - 6 - 8 id: args3-kwargs3-expected3📌 Setup phase
duration:
0.0002766749821603298outcome:
passed📌 Call phase
duration:
0.00015485240146517754outcome:
passed📌 Teardown phase
duration:
0.000173893291503191outcome:
passed
↳ Function: test_xrange_infinite
-
✅ Test 508
params: args=[], kwargs={}, expected_repr="count(0)"📌 Runtime Parameters
params: args: [] kwargs: {} expected_repr: count(0) id: args0-kwargs0-count(0)📌 Setup phase
duration:
0.00031524524092674255outcome:
passed📌 Call phase
duration:
0.00020638806745409966outcome:
passed📌 Teardown phase
duration:
0.00018570106476545334outcome:
passed -
✅ Test 509
params: args=[], kwargs={"step": 2}, expected_repr="count(0, 2)"📌 Runtime Parameters
params: args: [] kwargs: step: 2 expected_repr: count(0, 2) id: args1-kwargs1-count(0, 2)📌 Setup phase
duration:
0.00030372897163033485outcome:
passed📌 Call phase
duration:
0.00016356492415070534outcome:
passed📌 Teardown phase
duration:
0.0001608734019100666outcome:
passed
↳ Function: test_xrange_too_many_args
-
✅ Test 510
params: args=[1, 2, 3, 4]📌 Runtime Parameters
params: args: - 1 - 2 - 3 - 4 id: args0📌 Setup phase
duration:
0.00017038220539689064outcome:
passed📌 Call phase
duration:
0.0005244389176368713outcome:
passed📌 Teardown phase
duration:
0.0006749150343239307outcome:
passed
-
❌ Failed (34)
-
📄 test_utils_debug.py
↳ Function: test_short_repr
-
❌ Test 134
params: value="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", cutoff=10, expected="'aaaaaaaaaa..."📌 Runtime Parameters
params: value: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cutoff: 10 expected: 'aaaaaaaaaa... id: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaa...📌 Setup phase
duration:
0.0002860231325030327outcome:
passed📌 Call phase
duration:
0.0010931435972452164outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_debug.py lineno: 66 message: assert "'aaaaaaaaa..." == "'aaaaaaaaaa..." - 'aaaaaaaaaa... ? - + 'aaaaaaaaa...traceback:
- path: tests/test_utils_debug.py lineno: 66 message: AssertionErrorlongrepr:
value = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' cutoff = 10, expected = "'aaaaaaaaaa..." @pytest.mark.parametrize( "value, cutoff, expected", [ ("abc", 10, "'abc'"), ("a" * 100, 10, "'aaaaaaaaaa..."), (12345, 10, "12345"), ([0]*100, 15, str(repr([0]*100))[:15] + "..."), (None, 10, "None"), (type("Obj", (), {"__repr__": lambda self: "Obj(" + "x"*50 + ")"})(), 20, "Obj(xxxxxxxxxxxxxxxxx..."), ] ) def test_short_repr(value, cutoff, expected): > assert short_repr(value, cutoff) == expected E assert "'aaaaaaaaa..." == "'aaaaaaaaaa..." E E - 'aaaaaaaaaa... E ? - E + 'aaaaaaaaa... tests/test_utils_debug.py:66: AssertionError📌 Teardown phase
duration:
0.00035620294511318207outcome:
passed -
❌ Test 138
params: value="Obj(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)", cutoff=20, expected="Obj(xxxxxxxxxxxxxxxxx..."📌 Runtime Parameters
params: value: Obj(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) cutoff: 20 expected: Obj(xxxxxxxxxxxxxxxxx... id: value5-20-Obj(xxxxxxxxxxxxxxxxx...📌 Setup phase
duration:
0.0002626259811222553outcome:
passed📌 Call phase
duration:
0.0006582001224160194outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_debug.py lineno: 66 message: AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxx...' - Obj(xxxxxxxxxxxxxxxxx... ? - + Obj(xxxxxxxxxxxxxxxx...traceback:
- path: tests/test_utils_debug.py lineno: 66 message: AssertionErrorlongrepr:
value = Obj(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx), cutoff = 20 expected = 'Obj(xxxxxxxxxxxxxxxxx...' @pytest.mark.parametrize( "value, cutoff, expected", [ ("abc", 10, "'abc'"), ("a" * 100, 10, "'aaaaaaaaaa..."), (12345, 10, "12345"), ([0]*100, 15, str(repr([0]*100))[:15] + "..."), (None, 10, "None"), (type("Obj", (), {"__repr__": lambda self: "Obj(" + "x"*50 + ")"})(), 20, "Obj(xxxxxxxxxxxxxxxxx..."), ] ) def test_short_repr(value, cutoff, expected): > assert short_repr(value, cutoff) == expected E AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxx...' E E - Obj(xxxxxxxxxxxxxxxxx... E ? - E + Obj(xxxxxxxxxxxxxxxx... tests/test_utils_debug.py:66: AssertionError📌 Teardown phase
duration:
0.0002229129895567894outcome:
passed
-
-
📄 test_utils_elog.py
↳ Function: test_post_local
-
❌ Test 159
📌 Setup phase
duration:
0.00012813322246074677outcome:
passed📌 Call phase
duration:
0.010036669205874205outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py lineno: 315 message: elog.logbook_exceptions.LogbookInvalidMessageID: Invalid message ID: None returnedtraceback:
- path: tests/test_utils_elog.py lineno: 46 message: None - path: .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py lineno: 315 message: LogbookInvalidMessageIDlongrepr:
def test_post_local(): logbook = elog.open( hostname="http://localhost", port=8080, user="robot", password="testpassword", use_ssl=False, logbook="demo" ) attributes = { "Author": "robot", "Subject": "Test simple", "Category": "General", "Type": "Note" } message = "Hello from local test" > msg_id = logbook.post(message, attributes=attributes, encoding="HTML") tests/test_utils_elog.py:46: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <elog.logbook.Logbook object at 0x7f30ab213d60> message = 'Hello from local test', msg_id = None, reply = False attributes = {'Author': 'robot', 'Category': 'General', 'Encoding': 'HTML', 'Subject': 'Test simple', ...} attachments = [], suppress_email_notification = False, encoding = 'HTML' timeout = None, kwargs = {} new_attachment_list = [('Text', ('', b'Hello from local test'))] objects_to_close = [] attributes_to_edit = {'Author': b'robot', 'Category': b'General', 'Encoding': b'HTML', 'Subject': b'Test simple', ...} def post(self, message, msg_id=None, reply=False, attributes=None, attachments=None, suppress_email_notification=False, encoding=None, timeout=None, **kwargs): """ Posts message to the logbook. If msg_id is not specified new message will be created, otherwise existing message will be edited, or a reply (if reply=True) to it will be created. This method returns the msg_id of the newly created message. :param message: string with message text :param msg_id: ID number of message to edit or reply. If not specified new message is created. :param reply: If 'True' reply to existing message is created instead of editing it :param attributes: Dictionary of attributes. Following attributes are used internally by the elog and will be ignored: Text, Date, Encoding, Reply to, In reply to, Locked by, Attachment :param attachments: list of: - file like objects which read() will return bytes (if file_like_object.name is not defined, default name "attachment<i>" will be used. - paths to the files All items will be appended as attachment to the elog entry. In case of unknown attachment an exception LogbookInvalidAttachment will be raised. :param suppress_email_notification: If set to True or 1, E-Mail notification will be suppressed, defaults to False. :param encoding: Defines encoding of the message. Can be: 'plain' -> plain text, 'html'->html-text, 'ELCode' --> elog formatting syntax :param timeout: Define the timeout to be used by the post request. Its value is directly passed to the requests post. Use None to disable the request timeout. :param kwargs: Anything in the kwargs will be interpreted as attribute. e.g.: logbook.post('Test text', Author='Rok Vintar), "Author" will be sent as an attribute. If named same as one of the attributes defined in "attributes", kwargs will have priority. :return: msg_id """ attributes = attributes or {} attributes = {**attributes, **kwargs} # kwargs as attributes with higher priority attachments = attachments or [] if encoding is not None: if encoding not in ['plain', 'HTML', 'ELCode']: raise LogbookMessageRejected('Invalid message encoding. Valid options: plain, HTML, ELCode.') attributes['Encoding'] = encoding if suppress_email_notification: attributes["suppress"] = 1 # THE ATTACHMENT STRATEGY WHEN DEALING WITH POST MODIFICATION # # 1. Does the message on the server have already attachments? # 1.1 - We read the message getting the existing attachment list. # 1.2 - Add to the attributes dictionary one line for each attachment like this: # attributes['attachmentN'] = timestamped_filename_name # # 2. Do we have new attachments? # 2.1 - Those are in the new_attachment_list. This is a list of this type: # [ ('attfileN', ('filename', fileobject)) ] # 2.2 - We need to loop over all the new attachments: # 2.2.1 - Does a file already on the server with the same name exist? # 2.2.1.1 - No: OK. Then we go ahead with the next attachment. # 2.2.1.2 - Yes: # 2.2.1.2.1 - Are the two files identical? # 2.2.1.2.1.1 - Yes: then we remove this current entry from the new_attachment_list and we leave the one # already on server. # 2.2.1.2.1.2 - No: # 2.2.1.2.1.2.1 - Then the file has been update. # 2.2.1.2.1.2.2 - We need to remove the file on server first (using special post) # 2.2.1.2.1.2.3 - We have to remove the old attachment from the attributes dictionary. # if attachments: # here we accomplish point 2.1. # new_attachment_list is something like [ ('attfileN', ('filename', fileobject)) ] new_attachment_list, objects_to_close = self._prepare_attachments(attachments) else: objects_to_close = list() new_attachment_list = list() attributes_to_edit = dict() if msg_id: # Message exists, we can continue if reply: # Verify that there is a message on the server, otherwise do not reply to it! self._check_if_message_on_server(msg_id) # raises exception in case of none existing message attributes['reply_to'] = str(msg_id) else: # Edit existing attributes['edit_id'] = str(msg_id) attributes['skiplock'] = '1' # here we accomplish point 1.1. # existing_attachments_list is something like: # [ 'https://elog.url.com/logbook/timestamped_filename' ] msg_to_edit, attributes_to_edit, existing_attachments_list = self.read(msg_id) for attribute, data in attributes.items(): new_data = attributes.get(attribute) if new_data is not None: attributes_to_edit[attribute] = new_data i = 0 existing_attachments_filename_list = list() for attachment in existing_attachments_list: # here we accomplish point 1.2. We strip the timestamped_filename from the whole URL. attributes_to_edit[f'attachment{i}'] = os.path.basename(attachment) existing_attachments_filename_list.append(os.path.basename(attachment)[14:]) i += 1 # let's accomplish 2.2. Loop over all new attachment duplicate_attachment_list = list() for new_attachment in new_attachment_list: # the new_attachment_list is something like: # [ ('attfileN', ('filename', fileobject)) ] new_attachment_filename = new_attachment[1][0] if new_attachment_filename in existing_attachments_filename_list: # a file with the same name existing already on the server. # we need to check if the two files are the same. # read the content of the new file new_attachment_content = new_attachment[1][1].read() # don't forget to reset the fileobj to the beginning of the file new_attachment[1][1].seek(0) # get the existing attachment content attachment_index = existing_attachments_filename_list.index(new_attachment_filename) existing_attachment_content = self.download_attachment( url=existing_attachments_list[attachment_index], timeout=timeout ) # check if the two contents are the same if new_attachment_content == existing_attachment_content: # yes. then we don't upload a second copy. we remove the current entry from the list duplicate_attachment_list.append(new_attachment) else: # no. they are not the same file. we will replace the existing file with the new one # first: we need to remove the attachment from the server using the dedicated method self.delete_attachment(msg_id, attributes=attributes_to_edit, attachment_id=attachment_index, timeout=timeout, text=msg_to_edit) # now we can remove this attachment from the auxiliary lists. existing_attachments_filename_list.pop(attachment_index) existing_attachments_list.pop(attachment_index) # now we need to rebuild the attributes dictionary for the part concerning the attachments. # we remove all of them first keys_to_be_removed = list() for key in attributes_to_edit.keys(): if key.startswith('attachment'): keys_to_be_removed.append(key) if key.startswith('delatt'): keys_to_be_removed.append(key) for key in keys_to_be_removed: del attributes_to_edit[key] # now we rebuild it for i, attachment in enumerate(existing_attachments_list): attributes_to_edit[f'attachment{i}'] = os.path.basename(attachment) # remove all duplicate attachments from the new_attachment_list for attach in duplicate_attachment_list: new_attachment_list.remove(attach) else: # As we create a new message, specify creation time if not already specified in attributes if 'When' not in attributes: attributes['When'] = int(datetime.now().timestamp()) if not attributes_to_edit: attributes_to_edit = attributes # Remove any attributes that should not be sent _remove_reserved_attributes(attributes_to_edit) # Make requests module think that Text is a "file". This is the only way to force requests to send data as # multipart/form-data even if there are no attachments. Elog understands only multipart/form-data new_attachment_list.append(('Text', ('', message.encode('iso-8859-1')))) # Base attributes are common to all messages self._add_base_msg_attributes(attributes_to_edit) # Keys in attributes cannot have certain characters like whitespaces or dashes for the http request attributes_to_edit = _replace_special_characters_in_attribute_keys(attributes_to_edit) # All string values in the attributes must be encoded in latin1 attributes_to_edit = _encode_values(attributes_to_edit) try: response = requests.post(self._url, data=attributes_to_edit, files=new_attachment_list, allow_redirects=False, verify=False, timeout=timeout) # Validate response. Any problems will raise an Exception. resp_message, resp_headers, resp_msg_id = _validate_response(response) # Close file like objects that were opened by the elog (if path for file_like_object in objects_to_close: if hasattr(file_like_object, 'close'): file_like_object.close() except requests.Timeout as e: # Catch here a timeout o the post request. # Raise the logbook excetion and let the user handle it raise LogbookServerTimeout('{0} method cannot be completed because of a network timeout:\n' + '{1}'.format(sys._getframe().f_code.co_name, e)) except requests.RequestException as e: # Check if message on server. self._check_if_message_on_server(msg_id) # raises exceptions if no message or no response from server # If here: message is on server but cannot be downloaded (should never happen) raise LogbookServerProblem('Cannot access logbook server to post a message, ' + 'because of:\n' + '{0}'.format(e)) # Any error before here should raise an exception, but check again for nay case. if not resp_msg_id or resp_msg_id < 1: > raise LogbookInvalidMessageID('Invalid message ID: ' + str(resp_msg_id) + ' returned') E elog.logbook_exceptions.LogbookInvalidMessageID: Invalid message ID: None returned .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py:315: LogbookInvalidMessageID📌 Teardown phase
duration:
0.00024709897115826607outcome:
passed
↳ Function: test_post
-
❌ Test 163
📌 Setup phase
duration:
0.00014498503878712654outcome:
passed📌 Call phase
duration:
0.006030240096151829outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py lineno: 315 message: elog.logbook_exceptions.LogbookInvalidMessageID: Invalid message ID: None returnedtraceback:
- path: tests/test_utils_elog.py lineno: 123 message: None - path: slic/utils/elog.py lineno: 16 message: in post - path: .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py lineno: 315 message: LogbookInvalidMessageIDlongrepr:
def test_post(): elog = get_test_elog() title = "AUTHOR_OVERRIDE_TEST" text = "This is a message" author = "robot" > elog.post(text, Author=author) tests/test_utils_elog.py:123: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ slic/utils/elog.py:16: in post return self._log.post(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <elog.logbook.Logbook object at 0x7f30ab27a400> message = 'This is a message', msg_id = None, reply = False attributes = {'Author': 'robot', 'When': 1754567523, 'cmd': 'Submit', 'exp': 'demo', ...} attachments = [], suppress_email_notification = False, encoding = None timeout = None, kwargs = {'Author': 'robot'} new_attachment_list = [('Text', ('', b'This is a message'))] objects_to_close = [] attributes_to_edit = {'Author': b'robot', 'When': 1754567523, 'cmd': b'Submit', 'exp': b'demo', ...} def post(self, message, msg_id=None, reply=False, attributes=None, attachments=None, suppress_email_notification=False, encoding=None, timeout=None, **kwargs): """ Posts message to the logbook. If msg_id is not specified new message will be created, otherwise existing message will be edited, or a reply (if reply=True) to it will be created. This method returns the msg_id of the newly created message. :param message: string with message text :param msg_id: ID number of message to edit or reply. If not specified new message is created. :param reply: If 'True' reply to existing message is created instead of editing it :param attributes: Dictionary of attributes. Following attributes are used internally by the elog and will be ignored: Text, Date, Encoding, Reply to, In reply to, Locked by, Attachment :param attachments: list of: - file like objects which read() will return bytes (if file_like_object.name is not defined, default name "attachment<i>" will be used. - paths to the files All items will be appended as attachment to the elog entry. In case of unknown attachment an exception LogbookInvalidAttachment will be raised. :param suppress_email_notification: If set to True or 1, E-Mail notification will be suppressed, defaults to False. :param encoding: Defines encoding of the message. Can be: 'plain' -> plain text, 'html'->html-text, 'ELCode' --> elog formatting syntax :param timeout: Define the timeout to be used by the post request. Its value is directly passed to the requests post. Use None to disable the request timeout. :param kwargs: Anything in the kwargs will be interpreted as attribute. e.g.: logbook.post('Test text', Author='Rok Vintar), "Author" will be sent as an attribute. If named same as one of the attributes defined in "attributes", kwargs will have priority. :return: msg_id """ attributes = attributes or {} attributes = {**attributes, **kwargs} # kwargs as attributes with higher priority attachments = attachments or [] if encoding is not None: if encoding not in ['plain', 'HTML', 'ELCode']: raise LogbookMessageRejected('Invalid message encoding. Valid options: plain, HTML, ELCode.') attributes['Encoding'] = encoding if suppress_email_notification: attributes["suppress"] = 1 # THE ATTACHMENT STRATEGY WHEN DEALING WITH POST MODIFICATION # # 1. Does the message on the server have already attachments? # 1.1 - We read the message getting the existing attachment list. # 1.2 - Add to the attributes dictionary one line for each attachment like this: # attributes['attachmentN'] = timestamped_filename_name # # 2. Do we have new attachments? # 2.1 - Those are in the new_attachment_list. This is a list of this type: # [ ('attfileN', ('filename', fileobject)) ] # 2.2 - We need to loop over all the new attachments: # 2.2.1 - Does a file already on the server with the same name exist? # 2.2.1.1 - No: OK. Then we go ahead with the next attachment. # 2.2.1.2 - Yes: # 2.2.1.2.1 - Are the two files identical? # 2.2.1.2.1.1 - Yes: then we remove this current entry from the new_attachment_list and we leave the one # already on server. # 2.2.1.2.1.2 - No: # 2.2.1.2.1.2.1 - Then the file has been update. # 2.2.1.2.1.2.2 - We need to remove the file on server first (using special post) # 2.2.1.2.1.2.3 - We have to remove the old attachment from the attributes dictionary. # if attachments: # here we accomplish point 2.1. # new_attachment_list is something like [ ('attfileN', ('filename', fileobject)) ] new_attachment_list, objects_to_close = self._prepare_attachments(attachments) else: objects_to_close = list() new_attachment_list = list() attributes_to_edit = dict() if msg_id: # Message exists, we can continue if reply: # Verify that there is a message on the server, otherwise do not reply to it! self._check_if_message_on_server(msg_id) # raises exception in case of none existing message attributes['reply_to'] = str(msg_id) else: # Edit existing attributes['edit_id'] = str(msg_id) attributes['skiplock'] = '1' # here we accomplish point 1.1. # existing_attachments_list is something like: # [ 'https://elog.url.com/logbook/timestamped_filename' ] msg_to_edit, attributes_to_edit, existing_attachments_list = self.read(msg_id) for attribute, data in attributes.items(): new_data = attributes.get(attribute) if new_data is not None: attributes_to_edit[attribute] = new_data i = 0 existing_attachments_filename_list = list() for attachment in existing_attachments_list: # here we accomplish point 1.2. We strip the timestamped_filename from the whole URL. attributes_to_edit[f'attachment{i}'] = os.path.basename(attachment) existing_attachments_filename_list.append(os.path.basename(attachment)[14:]) i += 1 # let's accomplish 2.2. Loop over all new attachment duplicate_attachment_list = list() for new_attachment in new_attachment_list: # the new_attachment_list is something like: # [ ('attfileN', ('filename', fileobject)) ] new_attachment_filename = new_attachment[1][0] if new_attachment_filename in existing_attachments_filename_list: # a file with the same name existing already on the server. # we need to check if the two files are the same. # read the content of the new file new_attachment_content = new_attachment[1][1].read() # don't forget to reset the fileobj to the beginning of the file new_attachment[1][1].seek(0) # get the existing attachment content attachment_index = existing_attachments_filename_list.index(new_attachment_filename) existing_attachment_content = self.download_attachment( url=existing_attachments_list[attachment_index], timeout=timeout ) # check if the two contents are the same if new_attachment_content == existing_attachment_content: # yes. then we don't upload a second copy. we remove the current entry from the list duplicate_attachment_list.append(new_attachment) else: # no. they are not the same file. we will replace the existing file with the new one # first: we need to remove the attachment from the server using the dedicated method self.delete_attachment(msg_id, attributes=attributes_to_edit, attachment_id=attachment_index, timeout=timeout, text=msg_to_edit) # now we can remove this attachment from the auxiliary lists. existing_attachments_filename_list.pop(attachment_index) existing_attachments_list.pop(attachment_index) # now we need to rebuild the attributes dictionary for the part concerning the attachments. # we remove all of them first keys_to_be_removed = list() for key in attributes_to_edit.keys(): if key.startswith('attachment'): keys_to_be_removed.append(key) if key.startswith('delatt'): keys_to_be_removed.append(key) for key in keys_to_be_removed: del attributes_to_edit[key] # now we rebuild it for i, attachment in enumerate(existing_attachments_list): attributes_to_edit[f'attachment{i}'] = os.path.basename(attachment) # remove all duplicate attachments from the new_attachment_list for attach in duplicate_attachment_list: new_attachment_list.remove(attach) else: # As we create a new message, specify creation time if not already specified in attributes if 'When' not in attributes: attributes['When'] = int(datetime.now().timestamp()) if not attributes_to_edit: attributes_to_edit = attributes # Remove any attributes that should not be sent _remove_reserved_attributes(attributes_to_edit) # Make requests module think that Text is a "file". This is the only way to force requests to send data as # multipart/form-data even if there are no attachments. Elog understands only multipart/form-data new_attachment_list.append(('Text', ('', message.encode('iso-8859-1')))) # Base attributes are common to all messages self._add_base_msg_attributes(attributes_to_edit) # Keys in attributes cannot have certain characters like whitespaces or dashes for the http request attributes_to_edit = _replace_special_characters_in_attribute_keys(attributes_to_edit) # All string values in the attributes must be encoded in latin1 attributes_to_edit = _encode_values(attributes_to_edit) try: response = requests.post(self._url, data=attributes_to_edit, files=new_attachment_list, allow_redirects=False, verify=False, timeout=timeout) # Validate response. Any problems will raise an Exception. resp_message, resp_headers, resp_msg_id = _validate_response(response) # Close file like objects that were opened by the elog (if path for file_like_object in objects_to_close: if hasattr(file_like_object, 'close'): file_like_object.close() except requests.Timeout as e: # Catch here a timeout o the post request. # Raise the logbook excetion and let the user handle it raise LogbookServerTimeout('{0} method cannot be completed because of a network timeout:\n' + '{1}'.format(sys._getframe().f_code.co_name, e)) except requests.RequestException as e: # Check if message on server. self._check_if_message_on_server(msg_id) # raises exceptions if no message or no response from server # If here: message is on server but cannot be downloaded (should never happen) raise LogbookServerProblem('Cannot access logbook server to post a message, ' + 'because of:\n' + '{0}'.format(e)) # Any error before here should raise an exception, but check again for nay case. if not resp_msg_id or resp_msg_id < 1: > raise LogbookInvalidMessageID('Invalid message ID: ' + str(resp_msg_id) + ' returned') E elog.logbook_exceptions.LogbookInvalidMessageID: Invalid message ID: None returned .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py:315: LogbookInvalidMessageID📌 Teardown phase
duration:
0.00025034695863723755outcome:
passed
↳ Function: test_screenshot
-
❌ Test 164
📌 Setup phase
duration:
0.00018491176888346672outcome:
passed📌 Call phase
duration:
0.00827072188258171outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py lineno: 315 message: elog.logbook_exceptions.LogbookInvalidMessageID: Invalid message ID: None returnedtraceback:
- path: tests/test_utils_elog.py lineno: 144 message: None - path: slic/utils/elog.py lineno: 21 message: in screenshot - path: slic/utils/elog.py lineno: 16 message: in post - path: .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py lineno: 315 message: LogbookInvalidMessageIDlongrepr:
mock_screenshot_class = <MagicMock name='Screenshot' id='139847007850208'> @patch("slic.utils.elog.Screenshot") def test_screenshot(mock_screenshot_class): with tempfile.NamedTemporaryFile(delete=False, suffix=".png") as tmp: fake_path = tmp.name tmp.write(b"fake image data") mock_instance = mock_screenshot_class.return_value mock_instance.shoot.return_value = [fake_path] elog = get_test_elog() test_msg = "SCREENSHOT_INTEGRATION_TEST_MSG_456" > entry_id = elog.screenshot(message=test_msg) tests/test_utils_elog.py:144: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ slic/utils/elog.py:21: in screenshot self.post(message, **kwargs) slic/utils/elog.py:16: in post return self._log.post(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <elog.logbook.Logbook object at 0x7f30ab3a8580> message = 'SCREENSHOT_INTEGRATION_TEST_MSG_456', msg_id = None, reply = False attributes = {'Author': 'robot', 'When': 1754567523, 'cmd': 'Submit', 'exp': 'demo', ...} attachments = ['/tmp/tmp6xlz1v9d.png'], suppress_email_notification = False encoding = None, timeout = None, kwargs = {'Author': 'robot'} new_attachment_list = [('attfile0', ('tmp6xlz1v9d.png', <_io.BufferedReader name='/tmp/tmp6xlz1v9d.png'>)), ('Text', ('', b'SCREENSHOT_INTEGRATION_TEST_MSG_456'))] objects_to_close = [<_io.BufferedReader name='/tmp/tmp6xlz1v9d.png'>] attributes_to_edit = {'Author': b'robot', 'When': 1754567523, 'cmd': b'Submit', 'exp': b'demo', ...} def post(self, message, msg_id=None, reply=False, attributes=None, attachments=None, suppress_email_notification=False, encoding=None, timeout=None, **kwargs): """ Posts message to the logbook. If msg_id is not specified new message will be created, otherwise existing message will be edited, or a reply (if reply=True) to it will be created. This method returns the msg_id of the newly created message. :param message: string with message text :param msg_id: ID number of message to edit or reply. If not specified new message is created. :param reply: If 'True' reply to existing message is created instead of editing it :param attributes: Dictionary of attributes. Following attributes are used internally by the elog and will be ignored: Text, Date, Encoding, Reply to, In reply to, Locked by, Attachment :param attachments: list of: - file like objects which read() will return bytes (if file_like_object.name is not defined, default name "attachment<i>" will be used. - paths to the files All items will be appended as attachment to the elog entry. In case of unknown attachment an exception LogbookInvalidAttachment will be raised. :param suppress_email_notification: If set to True or 1, E-Mail notification will be suppressed, defaults to False. :param encoding: Defines encoding of the message. Can be: 'plain' -> plain text, 'html'->html-text, 'ELCode' --> elog formatting syntax :param timeout: Define the timeout to be used by the post request. Its value is directly passed to the requests post. Use None to disable the request timeout. :param kwargs: Anything in the kwargs will be interpreted as attribute. e.g.: logbook.post('Test text', Author='Rok Vintar), "Author" will be sent as an attribute. If named same as one of the attributes defined in "attributes", kwargs will have priority. :return: msg_id """ attributes = attributes or {} attributes = {**attributes, **kwargs} # kwargs as attributes with higher priority attachments = attachments or [] if encoding is not None: if encoding not in ['plain', 'HTML', 'ELCode']: raise LogbookMessageRejected('Invalid message encoding. Valid options: plain, HTML, ELCode.') attributes['Encoding'] = encoding if suppress_email_notification: attributes["suppress"] = 1 # THE ATTACHMENT STRATEGY WHEN DEALING WITH POST MODIFICATION # # 1. Does the message on the server have already attachments? # 1.1 - We read the message getting the existing attachment list. # 1.2 - Add to the attributes dictionary one line for each attachment like this: # attributes['attachmentN'] = timestamped_filename_name # # 2. Do we have new attachments? # 2.1 - Those are in the new_attachment_list. This is a list of this type: # [ ('attfileN', ('filename', fileobject)) ] # 2.2 - We need to loop over all the new attachments: # 2.2.1 - Does a file already on the server with the same name exist? # 2.2.1.1 - No: OK. Then we go ahead with the next attachment. # 2.2.1.2 - Yes: # 2.2.1.2.1 - Are the two files identical? # 2.2.1.2.1.1 - Yes: then we remove this current entry from the new_attachment_list and we leave the one # already on server. # 2.2.1.2.1.2 - No: # 2.2.1.2.1.2.1 - Then the file has been update. # 2.2.1.2.1.2.2 - We need to remove the file on server first (using special post) # 2.2.1.2.1.2.3 - We have to remove the old attachment from the attributes dictionary. # if attachments: # here we accomplish point 2.1. # new_attachment_list is something like [ ('attfileN', ('filename', fileobject)) ] new_attachment_list, objects_to_close = self._prepare_attachments(attachments) else: objects_to_close = list() new_attachment_list = list() attributes_to_edit = dict() if msg_id: # Message exists, we can continue if reply: # Verify that there is a message on the server, otherwise do not reply to it! self._check_if_message_on_server(msg_id) # raises exception in case of none existing message attributes['reply_to'] = str(msg_id) else: # Edit existing attributes['edit_id'] = str(msg_id) attributes['skiplock'] = '1' # here we accomplish point 1.1. # existing_attachments_list is something like: # [ 'https://elog.url.com/logbook/timestamped_filename' ] msg_to_edit, attributes_to_edit, existing_attachments_list = self.read(msg_id) for attribute, data in attributes.items(): new_data = attributes.get(attribute) if new_data is not None: attributes_to_edit[attribute] = new_data i = 0 existing_attachments_filename_list = list() for attachment in existing_attachments_list: # here we accomplish point 1.2. We strip the timestamped_filename from the whole URL. attributes_to_edit[f'attachment{i}'] = os.path.basename(attachment) existing_attachments_filename_list.append(os.path.basename(attachment)[14:]) i += 1 # let's accomplish 2.2. Loop over all new attachment duplicate_attachment_list = list() for new_attachment in new_attachment_list: # the new_attachment_list is something like: # [ ('attfileN', ('filename', fileobject)) ] new_attachment_filename = new_attachment[1][0] if new_attachment_filename in existing_attachments_filename_list: # a file with the same name existing already on the server. # we need to check if the two files are the same. # read the content of the new file new_attachment_content = new_attachment[1][1].read() # don't forget to reset the fileobj to the beginning of the file new_attachment[1][1].seek(0) # get the existing attachment content attachment_index = existing_attachments_filename_list.index(new_attachment_filename) existing_attachment_content = self.download_attachment( url=existing_attachments_list[attachment_index], timeout=timeout ) # check if the two contents are the same if new_attachment_content == existing_attachment_content: # yes. then we don't upload a second copy. we remove the current entry from the list duplicate_attachment_list.append(new_attachment) else: # no. they are not the same file. we will replace the existing file with the new one # first: we need to remove the attachment from the server using the dedicated method self.delete_attachment(msg_id, attributes=attributes_to_edit, attachment_id=attachment_index, timeout=timeout, text=msg_to_edit) # now we can remove this attachment from the auxiliary lists. existing_attachments_filename_list.pop(attachment_index) existing_attachments_list.pop(attachment_index) # now we need to rebuild the attributes dictionary for the part concerning the attachments. # we remove all of them first keys_to_be_removed = list() for key in attributes_to_edit.keys(): if key.startswith('attachment'): keys_to_be_removed.append(key) if key.startswith('delatt'): keys_to_be_removed.append(key) for key in keys_to_be_removed: del attributes_to_edit[key] # now we rebuild it for i, attachment in enumerate(existing_attachments_list): attributes_to_edit[f'attachment{i}'] = os.path.basename(attachment) # remove all duplicate attachments from the new_attachment_list for attach in duplicate_attachment_list: new_attachment_list.remove(attach) else: # As we create a new message, specify creation time if not already specified in attributes if 'When' not in attributes: attributes['When'] = int(datetime.now().timestamp()) if not attributes_to_edit: attributes_to_edit = attributes # Remove any attributes that should not be sent _remove_reserved_attributes(attributes_to_edit) # Make requests module think that Text is a "file". This is the only way to force requests to send data as # multipart/form-data even if there are no attachments. Elog understands only multipart/form-data new_attachment_list.append(('Text', ('', message.encode('iso-8859-1')))) # Base attributes are common to all messages self._add_base_msg_attributes(attributes_to_edit) # Keys in attributes cannot have certain characters like whitespaces or dashes for the http request attributes_to_edit = _replace_special_characters_in_attribute_keys(attributes_to_edit) # All string values in the attributes must be encoded in latin1 attributes_to_edit = _encode_values(attributes_to_edit) try: response = requests.post(self._url, data=attributes_to_edit, files=new_attachment_list, allow_redirects=False, verify=False, timeout=timeout) # Validate response. Any problems will raise an Exception. resp_message, resp_headers, resp_msg_id = _validate_response(response) # Close file like objects that were opened by the elog (if path for file_like_object in objects_to_close: if hasattr(file_like_object, 'close'): file_like_object.close() except requests.Timeout as e: # Catch here a timeout o the post request. # Raise the logbook excetion and let the user handle it raise LogbookServerTimeout('{0} method cannot be completed because of a network timeout:\n' + '{1}'.format(sys._getframe().f_code.co_name, e)) except requests.RequestException as e: # Check if message on server. self._check_if_message_on_server(msg_id) # raises exceptions if no message or no response from server # If here: message is on server but cannot be downloaded (should never happen) raise LogbookServerProblem('Cannot access logbook server to post a message, ' + 'because of:\n' + '{0}'.format(e)) # Any error before here should raise an exception, but check again for nay case. if not resp_msg_id or resp_msg_id < 1: > raise LogbookInvalidMessageID('Invalid message ID: ' + str(resp_msg_id) + ' returned') E elog.logbook_exceptions.LogbookInvalidMessageID: Invalid message ID: None returned .pixi/envs/default/lib/python3.8/site-packages/elog/logbook.py:315: LogbookInvalidMessageID📌 Teardown phase
duration:
0.00026662833988666534outcome:
passed
-
-
📄 test_utils_hastyepics.py
↳ Function: test_motor_instantiation_fast_vs_epics
-
❌ Test 217
📌 Setup phase
duration:
0.0001307409256696701outcome:
passed📌 Call phase
duration:
0.11009284993633628outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_hastyepics.py lineno: 37 message: AssertionError: Fast version (0.010518s) should be faster than EPICS (0.000271s) assert 0.010518137272447348 < 0.0002708166837692261traceback:
- path: tests/test_utils_hastyepics.py lineno: 37 message: AssertionErrorlongrepr:
def test_motor_instantiation_fast_vs_epics(): fast_times = [] slow_times = [] # Mock to simulate a real EPICS moteur with patch('epics.Motor.get') as mock_get: mock_get.return_value = 'motor' # Mean of 10 runs for _ in range(10): t0 = time.perf_counter() m_fast = Motor("TEST:MOTOR_t1") t1 = time.perf_counter() t2 = time.perf_counter() m_slow = epics.Motor("TEST:MOTOR_t2") t3 = time.perf_counter() fast_times.append(t1 - t0) slow_times.append(t3 - t2) avg_fast = sum(fast_times) / len(fast_times) avg_slow = sum(slow_times) / len(slow_times) > assert avg_fast < avg_slow, f"Fast version ({avg_fast:.6f}s) should be faster than EPICS ({avg_slow:.6f}s)" E AssertionError: Fast version (0.010518s) should be faster than EPICS (0.000271s) E assert 0.010518137272447348 < 0.0002708166837692261 tests/test_utils_hastyepics.py:37: AssertionError📌 Teardown phase
duration:
0.00047030113637447357outcome:
passed
↳ Function: test_motor_without_suffix_and_dot
-
❌ Test 218
📌 Setup phase
duration:
0.00021095294505357742outcome:
passed📌 Call phase
duration:
0.0018879193812608719outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_hastyepics.py lineno: 42 message: AssertionError: assert 'TEST:MOTOR_1.' == 'TEST:MOTOR_1' - TEST:MOTOR_1 + TEST:MOTOR_1. ? +traceback:
- path: tests/test_utils_hastyepics.py lineno: 42 message: AssertionErrorlongrepr:
def test_motor_without_suffix_and_dot(): # Suffix .VAL ... dot should be stripped from name m1 = Motor("TEST:MOTOR_1.VAL") > assert m1._prefix == "TEST:MOTOR_1" E AssertionError: assert 'TEST:MOTOR_1.' == 'TEST:MOTOR_1' E E - TEST:MOTOR_1 E + TEST:MOTOR_1. E ? + tests/test_utils_hastyepics.py:42: AssertionError📌 Teardown phase
duration:
0.00017520692199468613outcome:
passed
↳ Function: test_motor_initializes_device_attrs
-
❌ Test 221
📌 Setup phase
duration:
0.00010937172919511795outcome:
passed📌 Call phase
duration:
0.0016202046535909176outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_hastyepics.py lineno: 79 message: AssertionError: VAL is not a valid PV object assert False + where False = isinstance(None, <class 'epics.pv.PV'>) + where <class 'epics.pv.PV'> = <module 'epics.pv' from '/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/pv.py'>.PV + where <module 'epics.pv' from '/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/pv.py'> = epics.pvtraceback:
- path: tests/test_utils_hastyepics.py lineno: 79 message: AssertionErrorlongrepr:
def test_motor_initializes_device_attrs(): # Check that Motor correctly initializes all Device PVs from _init_list m = Motor("TEST:MOTOR") print("_init_list contents:", m._init_list) print("All attributes on motor:", dir(m)) for attr in m._init_list: print(f"\nChecking attribute: {attr}") assert hasattr(m, attr), f"Motor is missing attribute: {attr}" pv = getattr(m, attr) print(f"PV object: {pv}") print("Type:", type(pv)) if pv is not None: print(f"PV name: {pv.pvname}") print(f"PV connected: {pv.connected}") > assert isinstance(pv, epics.pv.PV), f"{attr} is not a valid PV object" E AssertionError: VAL is not a valid PV object E assert False E + where False = isinstance(None, <class 'epics.pv.PV'>) E + where <class 'epics.pv.PV'> = <module 'epics.pv' from '/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/pv.py'>.PV E + where <module 'epics.pv' from '/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/pv.py'> = epics.pv tests/test_utils_hastyepics.py:79: AssertionError📌 Teardown phase
duration:
0.00016634725034236908outcome:
passed
-
-
📄 test_utils_logcfg.py
↳ Function: test_import_logging_once_per_module
-
❌ Test 237
📌 Setup phase
duration:
0.00015251990407705307outcome:
passed📌 Call phase
duration:
1.9785329489968717outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_logcfg.py lineno: 78 message: AssertionError: Expected 1 import log for 'math', found 0 assert 0 == 1traceback:
- path: tests/test_utils_logcfg.py lineno: 78 message: AssertionErrorlongrepr:
def test_import_logging_once_per_module(): code = textwrap.dedent(""" from slic.utils.logcfg import * import math import io import random """) with tempfile.NamedTemporaryFile("w", suffix=".py", delete=False) as tmp: tmp.write(code) tmp_path = tmp.name env = os.environ.copy() root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) env["PYTHONPATH"] = root_path + os.pathsep + env.get("PYTHONPATH", "") result = subprocess.run([sys.executable, tmp_path], capture_output=True, text=True, env=env) os.remove(tmp_path) assert result.returncode == 0, f"Script failed:\n{result.stderr}" stderr = result.stderr print(stderr) lines = stderr.splitlines() for mod in ["math", "io", "random"]: count = sum(1 for line in lines if f"importing: {mod}" in line) > assert count == 1, f"Expected 1 import log for '{mod}', found {count}" E AssertionError: Expected 1 import log for 'math', found 0 E assert 0 == 1 tests/test_utils_logcfg.py:78: AssertionError📌 Teardown phase
duration:
0.00040772417560219765outcome:
passed
-
-
📄 test_utils_npy.py
↳ Function: test_nice_arange
-
❌ Test 247
params: start=5, stop=0, step=-1, expected="[5. 4. 3. 2. 1. 0.]"📌 Runtime Parameters
params: start: 5 stop: 0 step: -1 expected: [5. 4. 3. 2. 1. 0.] id: 5-0--1-expected1📌 Setup phase
duration:
0.0004346398636698723outcome:
passed📌 Call phase
duration:
0.0011194413527846336outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-06, atol=0 Mismatched elements: 6 / 6 (100%) Max absolute difference: 5. Max relative difference: 3. x: array([0., 1., 2., 3., 4., 5.]) y: array([5., 4., 3., 2., 1., 0.])traceback:
- path: tests/test_utils_npy.py lineno: 16 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = 5, stop = 0, step = -1, expected = array([5., 4., 3., 2., 1., 0.]) @pytest.mark.parametrize("start, stop, step, expected", [ (0, 5, 1, np.linspace(0, 5, 6)), # regular integer step (5, 0, -1, np.linspace(5, 0, 6)), # reversed with negative step (1, 2, 0.3, np.linspace(1, 2, 4)), # step doesn't divide evenly (-2, 2, 1.5, np.linspace(-2, 2, 3)), # centered range (2.5, 0.5, -0.4, np.linspace(2.5, 0.5, 6)), # reversed float ]) def test_nice_arange(start, stop, step, expected): > np.testing.assert_allclose(nice_arange(start, stop, step), expected, rtol=1e-6) tests/test_utils_npy.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f3057dfb1f0>, array([0., 1., 2., 3., 4., 5.]), array([5., 4., 3., 2., 1., 0.])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-06, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-06, atol=0 E E Mismatched elements: 6 / 6 (100%) E Max absolute difference: 5. E Max relative difference: 3. E x: array([0., 1., 2., 3., 4., 5.]) E y: array([5., 4., 3., 2., 1., 0.]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.0003814990632236004outcome:
passed -
❌ Test 249
params: start=-2, stop=2, step=1.5, expected="[-2. 0. 2.]"📌 Runtime Parameters
params: start: -2 stop: 2 step: 1.5 expected: [-2. 0. 2.] id: -2-2-1.5-expected3📌 Setup phase
duration:
0.000376241747289896outcome:
passed📌 Call phase
duration:
0.0005964883603155613outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-06, atol=0 (shapes (4,), (3,) mismatch) x: array([-2. , -0.666667, 0.666667, 2. ]) y: array([-2., 0., 2.])traceback:
- path: tests/test_utils_npy.py lineno: 16 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = -2, stop = 2, step = 1.5, expected = array([-2., 0., 2.]) @pytest.mark.parametrize("start, stop, step, expected", [ (0, 5, 1, np.linspace(0, 5, 6)), # regular integer step (5, 0, -1, np.linspace(5, 0, 6)), # reversed with negative step (1, 2, 0.3, np.linspace(1, 2, 4)), # step doesn't divide evenly (-2, 2, 1.5, np.linspace(-2, 2, 3)), # centered range (2.5, 0.5, -0.4, np.linspace(2.5, 0.5, 6)), # reversed float ]) def test_nice_arange(start, stop, step, expected): > np.testing.assert_allclose(nice_arange(start, stop, step), expected, rtol=1e-6) tests/test_utils_npy.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f3056c51dc0>, array([-2. , -0.66666667, 0.66666667, 2. ]), array([-2., 0., 2.])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-06, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-06, atol=0 E E (shapes (4,), (3,) mismatch) E x: array([-2. , -0.666667, 0.666667, 2. ]) E y: array([-2., 0., 2.]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.0002389899455010891outcome:
passed -
❌ Test 250
params: start=2.5, stop=0.5, step=-0.4, expected="[2.5 2.1 1.7 1.3 0.9 0.5]"📌 Runtime Parameters
params: start: 2.5 stop: 0.5 step: -0.4 expected: [2.5 2.1 1.7 1.3 0.9 0.5] id: 2.5-0.5--0.4-expected4📌 Setup phase
duration:
0.000376393087208271outcome:
passed📌 Call phase
duration:
0.0009266040287911892outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-06, atol=0 Mismatched elements: 6 / 6 (100%) Max absolute difference: 2. Max relative difference: 4. x: array([0.5, 0.9, 1.3, 1.7, 2.1, 2.5]) y: array([2.5, 2.1, 1.7, 1.3, 0.9, 0.5])traceback:
- path: tests/test_utils_npy.py lineno: 16 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = 2.5, stop = 0.5, step = -0.4 expected = array([2.5, 2.1, 1.7, 1.3, 0.9, 0.5]) @pytest.mark.parametrize("start, stop, step, expected", [ (0, 5, 1, np.linspace(0, 5, 6)), # regular integer step (5, 0, -1, np.linspace(5, 0, 6)), # reversed with negative step (1, 2, 0.3, np.linspace(1, 2, 4)), # step doesn't divide evenly (-2, 2, 1.5, np.linspace(-2, 2, 3)), # centered range (2.5, 0.5, -0.4, np.linspace(2.5, 0.5, 6)), # reversed float ]) def test_nice_arange(start, stop, step, expected): > np.testing.assert_allclose(nice_arange(start, stop, step), expected, rtol=1e-6) tests/test_utils_npy.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f3057d73550>, array([0.5, 0.9, 1.3, 1.7, 2.1, 2.5]), array([2.5, 2.1, 1.7, 1.3, 0.9, 0.5])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-06, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-06, atol=0 E E Mismatched elements: 6 / 6 (100%) E Max absolute difference: 2. E Max relative difference: 4. E x: array([0.5, 0.9, 1.3, 1.7, 2.1, 2.5]) E y: array([2.5, 2.1, 1.7, 1.3, 0.9, 0.5]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.00026363926008343697outcome:
passed
↳ Function: test_nice_steps_left_aligned
-
❌ Test 262
params: start=0, stop=5, step=2, endpoint=true, expected="[0. 2. 4. 6.]"📌 Runtime Parameters
params: start: 0 stop: 5 step: 2 endpoint: True expected: [0. 2. 4. 6.] id: 0-5-2-True-expected0📌 Setup phase
duration:
0.0003667534328997135outcome:
passed📌 Call phase
duration:
0.0005412339232861996outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-07, atol=0 (shapes (3,), (4,) mismatch) x: array([0, 2, 4]) y: array([0., 2., 4., 6.])traceback:
- path: tests/test_utils_npy.py lineno: 53 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = 0, stop = 5, step = 2, endpoint = True expected = array([0., 2., 4., 6.]) @pytest.mark.parametrize("start, stop, step, endpoint, expected", [ (0, 5, 2, True, np.array([0., 2., 4., 6.])), # Normal case with endpoint overshooting (0, 5, 2, False, np.array([0., 2., 4.])), # No endpoint (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])), # Needs fractional alignment to include stop (-1, 2, 1.5, False, np.array([-1., 0.5])), # Same range but no endpoint (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])), # Step overshoots (5, 0, -2, True, np.array([5., 3., 1., -1.])), # Backward steps with overshoot (5, 0, -2, False, np.array([5., 3., 1.])), # No endpoint, backward ]) def test_nice_steps_left_aligned(start, stop, step, endpoint, expected): > np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected) tests/test_utils_npy.py:53: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f3057d73310>, array([0, 2, 4]), array([0., 2., 4., 6.])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-07, atol=0 E E (shapes (3,), (4,) mismatch) E x: array([0, 2, 4]) E y: array([0., 2., 4., 6.]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.00036446982994675636outcome:
passed -
❌ Test 263
params: start=0, stop=5, step=2, endpoint=false, expected="[0. 2. 4.]"📌 Runtime Parameters
params: start: 0 stop: 5 step: 2 endpoint: False expected: [0. 2. 4.] id: 0-5-2-False-expected1📌 Setup phase
duration:
0.0004407651722431183outcome:
passed📌 Call phase
duration:
0.0005915439687669277outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-07, atol=0 (shapes (2,), (3,) mismatch) x: array([0, 2]) y: array([0., 2., 4.])traceback:
- path: tests/test_utils_npy.py lineno: 53 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = 0, stop = 5, step = 2, endpoint = False, expected = array([0., 2., 4.]) @pytest.mark.parametrize("start, stop, step, endpoint, expected", [ (0, 5, 2, True, np.array([0., 2., 4., 6.])), # Normal case with endpoint overshooting (0, 5, 2, False, np.array([0., 2., 4.])), # No endpoint (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])), # Needs fractional alignment to include stop (-1, 2, 1.5, False, np.array([-1., 0.5])), # Same range but no endpoint (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])), # Step overshoots (5, 0, -2, True, np.array([5., 3., 1., -1.])), # Backward steps with overshoot (5, 0, -2, False, np.array([5., 3., 1.])), # No endpoint, backward ]) def test_nice_steps_left_aligned(start, stop, step, endpoint, expected): > np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected) tests/test_utils_npy.py:53: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f3057d73a60>, array([0, 2]), array([0., 2., 4.])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-07, atol=0 E E (shapes (2,), (3,) mismatch) E x: array([0, 2]) E y: array([0., 2., 4.]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.0003164629451930523outcome:
passed -
❌ Test 266
params: start=-2, stop=1, step=1.2, endpoint=true, expected="[-2. -0.8 0.4 1.6]"📌 Runtime Parameters
params: start: -2 stop: 1 step: 1.2 endpoint: True expected: [-2. -0.8 0.4 1.6] id: -2-1-1.2-True-expected4📌 Setup phase
duration:
0.0004298649728298187outcome:
passed📌 Call phase
duration:
0.0006012110970914364outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-07, atol=0 (shapes (3,), (4,) mismatch) x: array([-2. , -0.8, 0.4]) y: array([-2. , -0.8, 0.4, 1.6])traceback:
- path: tests/test_utils_npy.py lineno: 53 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = -2, stop = 1, step = 1.2, endpoint = True expected = array([-2. , -0.8, 0.4, 1.6]) @pytest.mark.parametrize("start, stop, step, endpoint, expected", [ (0, 5, 2, True, np.array([0., 2., 4., 6.])), # Normal case with endpoint overshooting (0, 5, 2, False, np.array([0., 2., 4.])), # No endpoint (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])), # Needs fractional alignment to include stop (-1, 2, 1.5, False, np.array([-1., 0.5])), # Same range but no endpoint (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])), # Step overshoots (5, 0, -2, True, np.array([5., 3., 1., -1.])), # Backward steps with overshoot (5, 0, -2, False, np.array([5., 3., 1.])), # No endpoint, backward ]) def test_nice_steps_left_aligned(start, stop, step, endpoint, expected): > np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected) tests/test_utils_npy.py:53: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f3057d73ca0>, array([-2. , -0.8, 0.4]), array([-2. , -0.8, 0.4, 1.6])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-07, atol=0 E E (shapes (3,), (4,) mismatch) E x: array([-2. , -0.8, 0.4]) E y: array([-2. , -0.8, 0.4, 1.6]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.00031022587791085243outcome:
passed -
❌ Test 267
params: start=5, stop=0, step=-2, endpoint=true, expected="[ 5. 3. 1. -1.]"📌 Runtime Parameters
params: start: 5 stop: 0 step: -2 endpoint: True expected: [ 5. 3. 1. -1.] id: 5-0--2-True-expected5📌 Setup phase
duration:
0.00044220080599188805outcome:
passed📌 Call phase
duration:
0.0007287641055881977outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-07, atol=0 (shapes (3,), (4,) mismatch) x: array([0, 2, 4]) y: array([ 5., 3., 1., -1.])traceback:
- path: tests/test_utils_npy.py lineno: 53 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = 5, stop = 0, step = -2, endpoint = True expected = array([ 5., 3., 1., -1.]) @pytest.mark.parametrize("start, stop, step, endpoint, expected", [ (0, 5, 2, True, np.array([0., 2., 4., 6.])), # Normal case with endpoint overshooting (0, 5, 2, False, np.array([0., 2., 4.])), # No endpoint (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])), # Needs fractional alignment to include stop (-1, 2, 1.5, False, np.array([-1., 0.5])), # Same range but no endpoint (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])), # Step overshoots (5, 0, -2, True, np.array([5., 3., 1., -1.])), # Backward steps with overshoot (5, 0, -2, False, np.array([5., 3., 1.])), # No endpoint, backward ]) def test_nice_steps_left_aligned(start, stop, step, endpoint, expected): > np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected) tests/test_utils_npy.py:53: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f3056c60dc0>, array([0, 2, 4]), array([ 5., 3., 1., -1.])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-07, atol=0 E E (shapes (3,), (4,) mismatch) E x: array([0, 2, 4]) E y: array([ 5., 3., 1., -1.]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.0002943440340459347outcome:
passed -
❌ Test 268
params: start=5, stop=0, step=-2, endpoint=false, expected="[5. 3. 1.]"📌 Runtime Parameters
params: start: 5 stop: 0 step: -2 endpoint: False expected: [5. 3. 1.] id: 5-0--2-False-expected6📌 Setup phase
duration:
0.0004517817869782448outcome:
passed📌 Call phase
duration:
0.0005254610441625118outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-07, atol=0 (shapes (2,), (3,) mismatch) x: array([0, 2]) y: array([5., 3., 1.])traceback:
- path: tests/test_utils_npy.py lineno: 53 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = 5, stop = 0, step = -2, endpoint = False, expected = array([5., 3., 1.]) @pytest.mark.parametrize("start, stop, step, endpoint, expected", [ (0, 5, 2, True, np.array([0., 2., 4., 6.])), # Normal case with endpoint overshooting (0, 5, 2, False, np.array([0., 2., 4.])), # No endpoint (-1, 2, 1.5, True, np.array([-1., 0.5, 2.])), # Needs fractional alignment to include stop (-1, 2, 1.5, False, np.array([-1., 0.5])), # Same range but no endpoint (-2, 1, 1.2, True, np.array([-2., -0.8, 0.4, 1.6])), # Step overshoots (5, 0, -2, True, np.array([5., 3., 1., -1.])), # Backward steps with overshoot (5, 0, -2, False, np.array([5., 3., 1.])), # No endpoint, backward ]) def test_nice_steps_left_aligned(start, stop, step, endpoint, expected): > np.testing.assert_allclose(nice_steps_left_aligned(start, stop, step, endpoint), expected) tests/test_utils_npy.py:53: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f3056c60af0>, array([0, 2]), array([5., 3., 1.])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-07, atol=0 E E (shapes (2,), (3,) mismatch) E x: array([0, 2]) E y: array([5., 3., 1.]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.00027469079941511154outcome:
passed
↳ Function: test_nice_steps_right_aligned
-
❌ Test 269
params: start=0, stop=5, step=2, endpoint=true, expected="[6. 4. 2. 0.]"📌 Runtime Parameters
params: start: 0 stop: 5 step: 2 endpoint: True expected: [6. 4. 2. 0.] id: 0-5-2-True-expected0📌 Setup phase
duration:
0.0004137987270951271outcome:
passed📌 Call phase
duration:
0.0005524801090359688outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-07, atol=0 (shapes (3,), (4,) mismatch) x: array([1, 3, 5]) y: array([6., 4., 2., 0.])traceback:
- path: tests/test_utils_npy.py lineno: 67 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = 0, stop = 5, step = 2, endpoint = True expected = array([6., 4., 2., 0.]) @pytest.mark.parametrize("start, stop, step, endpoint, expected", [ (0, 5, 2, True, np.array([6., 4., 2., 0.])), # Right-aligned, overshoots left (0, 5, 2, False, np.array([4., 2., 0.])), # Right-aligned, no endpoint (-1, 2, 1.5, True, np.array([2., 0.5, -1.])), # Step doesn t divide evenly, reverse it (-1, 2, 1.5, False, np.array([0.5, -1.])), # Without endpoint (5, 0, -2, True, np.array([5., 3., 1., -1.])), # Negative step, includes endpoint overshoot (5, 0, -2, False, np.array([3., 1., -1.])), # No endpoint, skips last one (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])), # Large symmetric range, reverse ]) def test_nice_steps_right_aligned(start, stop, step, endpoint, expected): > np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected) tests/test_utils_npy.py:67: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f3056c609d0>, array([1, 3, 5]), array([6., 4., 2., 0.])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-07, atol=0 E E (shapes (3,), (4,) mismatch) E x: array([1, 3, 5]) E y: array([6., 4., 2., 0.]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.00026150932535529137outcome:
passed -
❌ Test 270
params: start=0, stop=5, step=2, endpoint=false, expected="[4. 2. 0.]"📌 Runtime Parameters
params: start: 0 stop: 5 step: 2 endpoint: False expected: [4. 2. 0.] id: 0-5-2-False-expected1📌 Setup phase
duration:
0.00040937308222055435outcome:
passed📌 Call phase
duration:
0.0005467748269438744outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-07, atol=0 (shapes (2,), (3,) mismatch) x: array([3, 5]) y: array([4., 2., 0.])traceback:
- path: tests/test_utils_npy.py lineno: 67 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = 0, stop = 5, step = 2, endpoint = False, expected = array([4., 2., 0.]) @pytest.mark.parametrize("start, stop, step, endpoint, expected", [ (0, 5, 2, True, np.array([6., 4., 2., 0.])), # Right-aligned, overshoots left (0, 5, 2, False, np.array([4., 2., 0.])), # Right-aligned, no endpoint (-1, 2, 1.5, True, np.array([2., 0.5, -1.])), # Step doesn t divide evenly, reverse it (-1, 2, 1.5, False, np.array([0.5, -1.])), # Without endpoint (5, 0, -2, True, np.array([5., 3., 1., -1.])), # Negative step, includes endpoint overshoot (5, 0, -2, False, np.array([3., 1., -1.])), # No endpoint, skips last one (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])), # Large symmetric range, reverse ]) def test_nice_steps_right_aligned(start, stop, step, endpoint, expected): > np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected) tests/test_utils_npy.py:67: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f3056c6c430>, array([3, 5]), array([4., 2., 0.])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-07, atol=0 E E (shapes (2,), (3,) mismatch) E x: array([3, 5]) E y: array([4., 2., 0.]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.00027004117146134377outcome:
passed -
❌ Test 271
params: start=-1, stop=2, step=1.5, endpoint=true, expected="[ 2. 0.5 -1. ]"📌 Runtime Parameters
params: start: -1 stop: 2 step: 1.5 endpoint: True expected: [ 2. 0.5 -1. ] id: -1-2-1.5-True-expected2📌 Setup phase
duration:
0.00041752681136131287outcome:
passed📌 Call phase
duration:
0.0008844928815960884outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 2 / 3 (66.7%) Max absolute difference: 3. Max relative difference: 3. x: array([-1. , 0.5, 2. ]) y: array([ 2. , 0.5, -1. ])traceback:
- path: tests/test_utils_npy.py lineno: 67 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = -1, stop = 2, step = 1.5, endpoint = True expected = array([ 2. , 0.5, -1. ]) @pytest.mark.parametrize("start, stop, step, endpoint, expected", [ (0, 5, 2, True, np.array([6., 4., 2., 0.])), # Right-aligned, overshoots left (0, 5, 2, False, np.array([4., 2., 0.])), # Right-aligned, no endpoint (-1, 2, 1.5, True, np.array([2., 0.5, -1.])), # Step doesn t divide evenly, reverse it (-1, 2, 1.5, False, np.array([0.5, -1.])), # Without endpoint (5, 0, -2, True, np.array([5., 3., 1., -1.])), # Negative step, includes endpoint overshoot (5, 0, -2, False, np.array([3., 1., -1.])), # No endpoint, skips last one (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])), # Large symmetric range, reverse ]) def test_nice_steps_right_aligned(start, stop, step, endpoint, expected): > np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected) tests/test_utils_npy.py:67: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f3056c6c8b0>, array([-1. , 0.5, 2. ]), array([ 2. , 0.5, -1. ])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-07, atol=0 E E Mismatched elements: 2 / 3 (66.7%) E Max absolute difference: 3. E Max relative difference: 3. E x: array([-1. , 0.5, 2. ]) E y: array([ 2. , 0.5, -1. ]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.0002646287903189659outcome:
passed -
❌ Test 272
params: start=-1, stop=2, step=1.5, endpoint=false, expected="[ 0.5 -1. ]"📌 Runtime Parameters
params: start: -1 stop: 2 step: 1.5 endpoint: False expected: [ 0.5 -1. ] id: -1-2-1.5-False-expected3📌 Setup phase
duration:
0.0004271017387509346outcome:
passed📌 Call phase
duration:
0.0008473196066915989outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-07, atol=0 Mismatched elements: 1 / 2 (50%) Max absolute difference: 3. Max relative difference: 3. x: array([0.5, 2. ]) y: array([ 0.5, -1. ])traceback:
- path: tests/test_utils_npy.py lineno: 67 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = -1, stop = 2, step = 1.5, endpoint = False expected = array([ 0.5, -1. ]) @pytest.mark.parametrize("start, stop, step, endpoint, expected", [ (0, 5, 2, True, np.array([6., 4., 2., 0.])), # Right-aligned, overshoots left (0, 5, 2, False, np.array([4., 2., 0.])), # Right-aligned, no endpoint (-1, 2, 1.5, True, np.array([2., 0.5, -1.])), # Step doesn t divide evenly, reverse it (-1, 2, 1.5, False, np.array([0.5, -1.])), # Without endpoint (5, 0, -2, True, np.array([5., 3., 1., -1.])), # Negative step, includes endpoint overshoot (5, 0, -2, False, np.array([3., 1., -1.])), # No endpoint, skips last one (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])), # Large symmetric range, reverse ]) def test_nice_steps_right_aligned(start, stop, step, endpoint, expected): > np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected) tests/test_utils_npy.py:67: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f3056c6c4c0>, array([0.5, 2. ]), array([ 0.5, -1. ])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-07, atol=0 E E Mismatched elements: 1 / 2 (50%) E Max absolute difference: 3. E Max relative difference: 3. E x: array([0.5, 2. ]) E y: array([ 0.5, -1. ]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.0002575959078967571outcome:
passed -
❌ Test 273
params: start=5, stop=0, step=-2, endpoint=true, expected="[ 5. 3. 1. -1.]"📌 Runtime Parameters
params: start: 5 stop: 0 step: -2 endpoint: True expected: [ 5. 3. 1. -1.] id: 5-0--2-True-expected4📌 Setup phase
duration:
0.0004235999658703804outcome:
passed📌 Call phase
duration:
0.0005205557681620121outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-07, atol=0 (shapes (3,), (4,) mismatch) x: array([1, 3, 5]) y: array([ 5., 3., 1., -1.])traceback:
- path: tests/test_utils_npy.py lineno: 67 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = 5, stop = 0, step = -2, endpoint = True expected = array([ 5., 3., 1., -1.]) @pytest.mark.parametrize("start, stop, step, endpoint, expected", [ (0, 5, 2, True, np.array([6., 4., 2., 0.])), # Right-aligned, overshoots left (0, 5, 2, False, np.array([4., 2., 0.])), # Right-aligned, no endpoint (-1, 2, 1.5, True, np.array([2., 0.5, -1.])), # Step doesn t divide evenly, reverse it (-1, 2, 1.5, False, np.array([0.5, -1.])), # Without endpoint (5, 0, -2, True, np.array([5., 3., 1., -1.])), # Negative step, includes endpoint overshoot (5, 0, -2, False, np.array([3., 1., -1.])), # No endpoint, skips last one (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])), # Large symmetric range, reverse ]) def test_nice_steps_right_aligned(start, stop, step, endpoint, expected): > np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected) tests/test_utils_npy.py:67: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f30574dff70>, array([1, 3, 5]), array([ 5., 3., 1., -1.])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-07, atol=0 E E (shapes (3,), (4,) mismatch) E x: array([1, 3, 5]) E y: array([ 5., 3., 1., -1.]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.00024856580421328545outcome:
passed -
❌ Test 274
params: start=5, stop=0, step=-2, endpoint=false, expected="[ 3. 1. -1.]"📌 Runtime Parameters
params: start: 5 stop: 0 step: -2 endpoint: False expected: [ 3. 1. -1.] id: 5-0--2-False-expected5📌 Setup phase
duration:
0.0004419260658323765outcome:
passed📌 Call phase
duration:
0.0005141501314938068outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-07, atol=0 (shapes (2,), (3,) mismatch) x: array([3, 5]) y: array([ 3., 1., -1.])traceback:
- path: tests/test_utils_npy.py lineno: 67 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = 5, stop = 0, step = -2, endpoint = False expected = array([ 3., 1., -1.]) @pytest.mark.parametrize("start, stop, step, endpoint, expected", [ (0, 5, 2, True, np.array([6., 4., 2., 0.])), # Right-aligned, overshoots left (0, 5, 2, False, np.array([4., 2., 0.])), # Right-aligned, no endpoint (-1, 2, 1.5, True, np.array([2., 0.5, -1.])), # Step doesn t divide evenly, reverse it (-1, 2, 1.5, False, np.array([0.5, -1.])), # Without endpoint (5, 0, -2, True, np.array([5., 3., 1., -1.])), # Negative step, includes endpoint overshoot (5, 0, -2, False, np.array([3., 1., -1.])), # No endpoint, skips last one (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])), # Large symmetric range, reverse ]) def test_nice_steps_right_aligned(start, stop, step, endpoint, expected): > np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected) tests/test_utils_npy.py:67: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f30574df550>, array([3, 5]), array([ 3., 1., -1.])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-07, atol=0 E E (shapes (2,), (3,) mismatch) E x: array([3, 5]) E y: array([ 3., 1., -1.]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.00024350779131054878outcome:
passed -
❌ Test 275
params: start=-3, stop=3, step=2, endpoint=true, expected="[ 5. 3. 1. -1. -3.]"📌 Runtime Parameters
params: start: -3 stop: 3 step: 2 endpoint: True expected: [ 5. 3. 1. -1. -3.] id: -3-3-2-True-expected6📌 Setup phase
duration:
0.00039969198405742645outcome:
passed📌 Call phase
duration:
0.0005109678022563457outcome:
failedcrash:
path: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionError: Not equal to tolerance rtol=1e-07, atol=0 (shapes (4,), (5,) mismatch) x: array([-3, -1, 1, 3]) y: array([ 5., 3., 1., -1., -3.])traceback:
- path: tests/test_utils_npy.py lineno: 67 message: None - path: .pixi/envs/default/lib/python3.8/contextlib.py lineno: 75 message: AssertionErrorlongrepr:
start = -3, stop = 3, step = 2, endpoint = True expected = array([ 5., 3., 1., -1., -3.]) @pytest.mark.parametrize("start, stop, step, endpoint, expected", [ (0, 5, 2, True, np.array([6., 4., 2., 0.])), # Right-aligned, overshoots left (0, 5, 2, False, np.array([4., 2., 0.])), # Right-aligned, no endpoint (-1, 2, 1.5, True, np.array([2., 0.5, -1.])), # Step doesn t divide evenly, reverse it (-1, 2, 1.5, False, np.array([0.5, -1.])), # Without endpoint (5, 0, -2, True, np.array([5., 3., 1., -1.])), # Negative step, includes endpoint overshoot (5, 0, -2, False, np.array([3., 1., -1.])), # No endpoint, skips last one (-3, 3, 2, True, np.array([5., 3., 1., -1., -3.])), # Large symmetric range, reverse ]) def test_nice_steps_right_aligned(start, stop, step, endpoint, expected): > np.testing.assert_allclose(nice_steps_right_aligned(start, stop, step, endpoint), expected) tests/test_utils_npy.py:67: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (<function assert_allclose.<locals>.compare at 0x7f3056c6ca60>, array([-3, -1, 1, 3]), array([ 5., 3., 1., -1., -3.])) kwds = {'equal_nan': True, 'err_msg': '', 'header': 'Not equal to tolerance rtol=1e-07, atol=0', 'verbose': True} @wraps(func) def inner(*args, **kwds): with self._recreate_cm(): > return func(*args, **kwds) E AssertionError: E Not equal to tolerance rtol=1e-07, atol=0 E E (shapes (4,), (5,) mismatch) E x: array([-3, -1, 1, 3]) E y: array([ 5., 3., 1., -1., -3.]) .pixi/envs/default/lib/python3.8/contextlib.py:75: AssertionError📌 Teardown phase
duration:
0.0002741580829024315outcome:
passed
-
-
📄 test_utils_pv.py
↳ Function: test_put_with_progress_and_repr
-
❌ Test 348
params: value=0.0, expected_bar=" ", expected_color="\u001b[32m"📌 Runtime Parameters
params: value: 0.0 expected_bar: expected_color: [32m id: 0.0- -\x1b[32m📌 Setup phase
duration:
1.002497797831893outcome:
passedlog:
- name: pcaspy.Driver.setParam msg: START_TIME: value=2025-08-07 11:52:06.133633 alarm=NO_ALARM severity=NO_ALARM flag=True mask=7 time=1123415526.133669728 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567526.1337805 msecs: 133.78047943115234 relativeCreated: 8786.79370880127 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=4 time=1123415526.134547194 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567526.1345894 msecs: 134.58943367004395 relativeCreated: 8787.602663040161 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415526.235046904 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567526.2351234 msecs: 235.1233959197998 relativeCreated: 8888.136625289917 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415526.335633457 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567526.3357203 msecs: 335.7203006744385 relativeCreated: 8988.733530044556 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415526.436256993 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567526.436332 msecs: 436.33198738098145 relativeCreated: 9089.345216751099 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415526.536872270 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567526.5369487 msecs: 536.9486808776855 relativeCreated: 9189.961910247803 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415526.637457059 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567526.6375296 msecs: 637.5296115875244 relativeCreated: 9290.542840957642 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415526.738138078 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567526.738213 msecs: 738.213062286377 relativeCreated: 9391.226291656494 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415526.838813514 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567526.8388913 msecs: 838.8912677764893 relativeCreated: 9491.904497146606 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415526.939435104 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567526.939511 msecs: 939.5110607147217 relativeCreated: 9592.524290084839 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415527.40063545 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.040143 msecs: 40.14301300048828 relativeCreated: 9693.156242370605 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908📌 Call phase
duration:
0.0175811811350286outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_pv.py lineno: 81 message: AssertionError: Expected bar ' ' not found in: [DEBUG] PUT start = 0.0, stop = 0.0 [ 0 |[32m██████████████████████████████[39m| 0 ] [1m0[0m assert []traceback:
- path: tests/test_utils_pv.py lineno: 81 message: AssertionErrorlog:
- name: pcaspy.Driver.setParam msg: VAL: value=0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415527.140704135 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.1407971 msecs: 140.79713821411133 relativeCreated: 9793.810367584229 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.getValue msg: VAL: Read value 0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.1448295 msecs: 144.82951164245605 relativeCreated: 9797.842741012573 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.writeValue msg: VAL: b32ccb34e1bd root old=0 new=0.0 args: None levelname: INFO levelno: 20 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 549 funcName: writeValue created: 1754567527.1451375 msecs: 145.13754844665527 relativeCreated: 9798.150777816772 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415527.145249975 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.145272 msecs: 145.27201652526855 relativeCreated: 9798.285245895386 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.getValue msg: VAL: Read value 0.0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.1470926 msecs: 147.0925807952881 relativeCreated: 9800.105810165405 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.writeValue msg: VAL: b32ccb34e1bd root old=0.0 new=0.0 args: None levelname: INFO levelno: 20 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 549 funcName: writeValue created: 1754567527.1478262 msecs: 147.8261947631836 relativeCreated: 9800.8394241333 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415527.147922699 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.147959 msecs: 147.95899391174316 relativeCreated: 9800.97222328186 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908longrepr:
value = 0.0, expected_bar = ' ', expected_color = '\x1b[32m' @pytest.mark.parametrize("value, expected_bar, expected_color", [ (0.0, " ", colorama.Fore.GREEN), (25.0, "██▌ ", colorama.Fore.GREEN), (50.0, "█████ ", colorama.Fore.GREEN), (75.0, "███████▌ ", colorama.Fore.GREEN), (100.0, "██████████", colorama.Fore.GREEN), (150.0, ">>>>>>>>>>", colorama.Fore.RED), (-50.0, "<<<<<<<<<<", colorama.Fore.RED) ]) def test_put_with_progress_and_repr(value, expected_bar, expected_color): pv = PV("TEST:VAL", connection_timeout=2.0) assert pv.wait_for_connection(timeout=2.0), "PV not connected" pv.put(0.0, wait=True) assert pv.get() == pytest.approx(0.0) # Capture tous les prints dans une liste printed_lines = [] def fake_print(*args, **kwargs): line = " ".join(str(a) for a in args) printed_lines.append(line) # Monkeypatch print uniquement dans ce contexte original_print = builtins.print builtins.print = fake_print try: pv.put(value, show_progress=True) finally: builtins.print = original_print # Vérifie que la bonne barre a été affichée au moins une fois matches = [line for line in printed_lines if f"|{expected_bar}|" in line] > assert matches, f"Expected bar '{expected_bar}' not found in:\n" + "\n".join(printed_lines) E AssertionError: Expected bar ' ' not found in: E [DEBUG] PUT start = 0.0, stop = 0.0 E [ 0 |[32m██████████████████████████████[39m| 0 ] [1m0[0m E E assert [] tests/test_utils_pv.py:81: AssertionError📌 Teardown phase
duration:
0.0003620241768658161outcome:
passed -
❌ Test 349
params: value=25.0, expected_bar="██▌ ", expected_color="\u001b[32m"📌 Runtime Parameters
params: value: 25.0 expected_bar: ██▌ expected_color: [32m id: 25.0-\u2588\u2588\u258c -\x1b[32m📌 Setup phase
duration:
0.0004933900199830532outcome:
passed📌 Call phase
duration:
0.002917736768722534outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_pv.py lineno: 81 message: AssertionError: Expected bar '██▌ ' not found in: [DEBUG] PUT start = 0.0, stop = 25.0 [ 0 |[32m [39m| 25 ] [1m0[0m [DEBUG] Callback called with value = 25.0 [ 0 |[32m██████████████████████████████[39m| 25 ] [1m25[0m assert []traceback:
- path: tests/test_utils_pv.py lineno: 81 message: AssertionErrorlog:
- name: pcaspy.SimplePV.getValue msg: VAL: Read value 0.0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.156722 msecs: 156.7220687866211 relativeCreated: 9809.735298156738 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.writeValue msg: VAL: b32ccb34e1bd root old=0.0 new=0.0 args: None levelname: INFO levelno: 20 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 549 funcName: writeValue created: 1754567527.1571214 msecs: 157.1214199066162 relativeCreated: 9810.134649276733 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415527.157208539 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.157237 msecs: 157.23705291748047 relativeCreated: 9810.250282287598 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.getValue msg: VAL: Read value 0.0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.1577544 msecs: 157.75442123413086 relativeCreated: 9810.767650604248 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.writeValue msg: VAL: b32ccb34e1bd root old=0.0 new=25.0 args: None levelname: INFO levelno: 20 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 549 funcName: writeValue created: 1754567527.1580606 msecs: 158.06055068969727 relativeCreated: 9811.073780059814 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=25.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123415527.158119364 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.1581323 msecs: 158.13231468200684 relativeCreated: 9811.145544052124 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908longrepr:
value = 25.0, expected_bar = '██▌ ', expected_color = '\x1b[32m' @pytest.mark.parametrize("value, expected_bar, expected_color", [ (0.0, " ", colorama.Fore.GREEN), (25.0, "██▌ ", colorama.Fore.GREEN), (50.0, "█████ ", colorama.Fore.GREEN), (75.0, "███████▌ ", colorama.Fore.GREEN), (100.0, "██████████", colorama.Fore.GREEN), (150.0, ">>>>>>>>>>", colorama.Fore.RED), (-50.0, "<<<<<<<<<<", colorama.Fore.RED) ]) def test_put_with_progress_and_repr(value, expected_bar, expected_color): pv = PV("TEST:VAL", connection_timeout=2.0) assert pv.wait_for_connection(timeout=2.0), "PV not connected" pv.put(0.0, wait=True) assert pv.get() == pytest.approx(0.0) # Capture tous les prints dans une liste printed_lines = [] def fake_print(*args, **kwargs): line = " ".join(str(a) for a in args) printed_lines.append(line) # Monkeypatch print uniquement dans ce contexte original_print = builtins.print builtins.print = fake_print try: pv.put(value, show_progress=True) finally: builtins.print = original_print # Vérifie que la bonne barre a été affichée au moins une fois matches = [line for line in printed_lines if f"|{expected_bar}|" in line] > assert matches, f"Expected bar '{expected_bar}' not found in:\n" + "\n".join(printed_lines) E AssertionError: Expected bar '██▌ ' not found in: E [DEBUG] PUT start = 0.0, stop = 25.0 E [ 0 |[32m [39m| 25 ] [1m0[0m E [DEBUG] Callback called with value = 25.0 E [ 0 |[32m██████████████████████████████[39m| 25 ] [1m25[0m E E assert [] tests/test_utils_pv.py:81: AssertionError📌 Teardown phase
duration:
0.0002887728624045849outcome:
passed -
❌ Test 350
params: value=50.0, expected_bar="█████ ", expected_color="\u001b[32m"📌 Runtime Parameters
params: value: 50.0 expected_bar: █████ expected_color: [32m id: 50.0-\u2588\u2588\u2588\u2588\u2588 -\x1b[32m📌 Setup phase
duration:
0.0004013990983366966outcome:
passed📌 Call phase
duration:
0.0024852827191352844outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_pv.py lineno: 62 message: assert 25.0 == 0.0 ± 1.0e-12 comparison failed Obtained: 25.0 Expected: 0.0 ± 1.0e-12traceback:
- path: tests/test_utils_pv.py lineno: 62 message: AssertionErrorlog:
- name: pcaspy.SimplePV.getValue msg: VAL: Read value 25.0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.1657705 msecs: 165.7705307006836 relativeCreated: 9818.7837600708 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.writeValue msg: VAL: b32ccb34e1bd root old=25.0 new=0.0 args: None levelname: INFO levelno: 20 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 549 funcName: writeValue created: 1754567527.1660626 msecs: 166.062593460083 relativeCreated: 9819.0758228302 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123415527.166139545 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.1661558 msecs: 166.15581512451172 relativeCreated: 9819.169044494629 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.getValue msg: VAL: Read value 0.0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.1671708 msecs: 167.17076301574707 relativeCreated: 9820.183992385864 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908longrepr:
value = 50.0, expected_bar = '█████ ', expected_color = '\x1b[32m' @pytest.mark.parametrize("value, expected_bar, expected_color", [ (0.0, " ", colorama.Fore.GREEN), (25.0, "██▌ ", colorama.Fore.GREEN), (50.0, "█████ ", colorama.Fore.GREEN), (75.0, "███████▌ ", colorama.Fore.GREEN), (100.0, "██████████", colorama.Fore.GREEN), (150.0, ">>>>>>>>>>", colorama.Fore.RED), (-50.0, "<<<<<<<<<<", colorama.Fore.RED) ]) def test_put_with_progress_and_repr(value, expected_bar, expected_color): pv = PV("TEST:VAL", connection_timeout=2.0) assert pv.wait_for_connection(timeout=2.0), "PV not connected" pv.put(0.0, wait=True) > assert pv.get() == pytest.approx(0.0) E assert 25.0 == 0.0 ± 1.0e-12 E E comparison failed E Obtained: 25.0 E Expected: 0.0 ± 1.0e-12 tests/test_utils_pv.py:62: AssertionError📌 Teardown phase
duration:
0.00027063023298978806outcome:
passed -
❌ Test 351
params: value=75.0, expected_bar="███████▌ ", expected_color="\u001b[32m"📌 Runtime Parameters
params: value: 75.0 expected_bar: ███████▌ expected_color: [32m id: 75.0-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c -\x1b[32m📌 Setup phase
duration:
0.0003861808218061924outcome:
passed📌 Call phase
duration:
0.002773354295641184outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_pv.py lineno: 81 message: AssertionError: Expected bar '███████▌ ' not found in: [DEBUG] PUT start = 0.0, stop = 75.0 [ 0 |[32m [39m| 75 ] [1m0[0m assert []traceback:
- path: tests/test_utils_pv.py lineno: 81 message: AssertionErrorlog:
- name: pcaspy.SimplePV.getValue msg: VAL: Read value 0.0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.1738596 msecs: 173.8595962524414 relativeCreated: 9826.872825622559 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.writeValue msg: VAL: b32ccb34e1bd root old=0.0 new=0.0 args: None levelname: INFO levelno: 20 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 549 funcName: writeValue created: 1754567527.1741364 msecs: 174.13640022277832 relativeCreated: 9827.149629592896 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415527.174236917 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.1742609 msecs: 174.26085472106934 relativeCreated: 9827.274084091187 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.getValue msg: VAL: Read value 0.0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.1749845 msecs: 174.98445510864258 relativeCreated: 9827.99768447876 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.writeValue msg: VAL: b32ccb34e1bd root old=0.0 new=75.0 args: None levelname: INFO levelno: 20 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 549 funcName: writeValue created: 1754567527.1752994 msecs: 175.29940605163574 relativeCreated: 9828.312635421753 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=75.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123415527.175363996 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.1753776 msecs: 175.37760734558105 relativeCreated: 9828.390836715698 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908longrepr:
value = 75.0, expected_bar = '███████▌ ', expected_color = '\x1b[32m' @pytest.mark.parametrize("value, expected_bar, expected_color", [ (0.0, " ", colorama.Fore.GREEN), (25.0, "██▌ ", colorama.Fore.GREEN), (50.0, "█████ ", colorama.Fore.GREEN), (75.0, "███████▌ ", colorama.Fore.GREEN), (100.0, "██████████", colorama.Fore.GREEN), (150.0, ">>>>>>>>>>", colorama.Fore.RED), (-50.0, "<<<<<<<<<<", colorama.Fore.RED) ]) def test_put_with_progress_and_repr(value, expected_bar, expected_color): pv = PV("TEST:VAL", connection_timeout=2.0) assert pv.wait_for_connection(timeout=2.0), "PV not connected" pv.put(0.0, wait=True) assert pv.get() == pytest.approx(0.0) # Capture tous les prints dans une liste printed_lines = [] def fake_print(*args, **kwargs): line = " ".join(str(a) for a in args) printed_lines.append(line) # Monkeypatch print uniquement dans ce contexte original_print = builtins.print builtins.print = fake_print try: pv.put(value, show_progress=True) finally: builtins.print = original_print # Vérifie que la bonne barre a été affichée au moins une fois matches = [line for line in printed_lines if f"|{expected_bar}|" in line] > assert matches, f"Expected bar '{expected_bar}' not found in:\n" + "\n".join(printed_lines) E AssertionError: Expected bar '███████▌ ' not found in: E [DEBUG] PUT start = 0.0, stop = 75.0 E [ 0 |[32m [39m| 75 ] [1m0[0m E E assert [] tests/test_utils_pv.py:81: AssertionError📌 Teardown phase
duration:
0.0002533658407628536outcome:
passed -
❌ Test 352
params: value=100.0, expected_bar="██████████", expected_color="\u001b[32m"📌 Runtime Parameters
params: value: 100.0 expected_bar: ██████████ expected_color: [32m id: 100.0-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588-\x1b[32m📌 Setup phase
duration:
0.00036230403929948807outcome:
passed📌 Call phase
duration:
0.0022402280010282993outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_pv.py lineno: 62 message: assert 75.0 == 0.0 ± 1.0e-12 comparison failed Obtained: 75.0 Expected: 0.0 ± 1.0e-12traceback:
- path: tests/test_utils_pv.py lineno: 62 message: AssertionErrorlog:
- name: pcaspy.SimplePV.getValue msg: VAL: Read value 75.0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.1823733 msecs: 182.3732852935791 relativeCreated: 9835.386514663696 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.writeValue msg: VAL: b32ccb34e1bd root old=75.0 new=0.0 args: None levelname: INFO levelno: 20 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 549 funcName: writeValue created: 1754567527.1825895 msecs: 182.58953094482422 relativeCreated: 9835.602760314941 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123415527.182653577 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.1826677 msecs: 182.66773223876953 relativeCreated: 9835.680961608887 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.getValue msg: VAL: Read value 0.0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.1835494 msecs: 183.5494041442871 relativeCreated: 9836.562633514404 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908longrepr:
value = 100.0, expected_bar = '██████████', expected_color = '\x1b[32m' @pytest.mark.parametrize("value, expected_bar, expected_color", [ (0.0, " ", colorama.Fore.GREEN), (25.0, "██▌ ", colorama.Fore.GREEN), (50.0, "█████ ", colorama.Fore.GREEN), (75.0, "███████▌ ", colorama.Fore.GREEN), (100.0, "██████████", colorama.Fore.GREEN), (150.0, ">>>>>>>>>>", colorama.Fore.RED), (-50.0, "<<<<<<<<<<", colorama.Fore.RED) ]) def test_put_with_progress_and_repr(value, expected_bar, expected_color): pv = PV("TEST:VAL", connection_timeout=2.0) assert pv.wait_for_connection(timeout=2.0), "PV not connected" pv.put(0.0, wait=True) > assert pv.get() == pytest.approx(0.0) E assert 75.0 == 0.0 ± 1.0e-12 E E comparison failed E Obtained: 75.0 E Expected: 0.0 ± 1.0e-12 tests/test_utils_pv.py:62: AssertionError📌 Teardown phase
duration:
0.00021644262596964836outcome:
passed -
❌ Test 353
params: value=150.0, expected_bar=">>>>>>>>>>", expected_color="\u001b[31m"📌 Runtime Parameters
params: value: 150.0 expected_bar: >>>>>>>>>> expected_color: [31m id: 150.0->>>>>>>>>>-\x1b[31m📌 Setup phase
duration:
0.00034099817276000977outcome:
passed📌 Call phase
duration:
0.002513241022825241outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_pv.py lineno: 81 message: AssertionError: Expected bar '>>>>>>>>>>' not found in: [DEBUG] PUT start = 0.0, stop = 150.0 [ 0 |[32m [39m| 150 ] [1m0[0m assert []traceback:
- path: tests/test_utils_pv.py lineno: 81 message: AssertionErrorlog:
- name: pcaspy.SimplePV.getValue msg: VAL: Read value 0.0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.1895568 msecs: 189.55683708190918 relativeCreated: 9842.570066452026 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.writeValue msg: VAL: b32ccb34e1bd root old=0.0 new=0.0 args: None levelname: INFO levelno: 20 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 549 funcName: writeValue created: 1754567527.1898124 msecs: 189.81242179870605 relativeCreated: 9842.825651168823 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415527.189886898 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.1898997 msecs: 189.89968299865723 relativeCreated: 9842.912912368774 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.getValue msg: VAL: Read value 0.0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.1905084 msecs: 190.50836563110352 relativeCreated: 9843.52159500122 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.writeValue msg: VAL: b32ccb34e1bd root old=0.0 new=150.0 args: None levelname: INFO levelno: 20 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 549 funcName: writeValue created: 1754567527.1908047 msecs: 190.80471992492676 relativeCreated: 9843.817949295044 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=150.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123415527.190875402 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.1908884 msecs: 190.8884048461914 relativeCreated: 9843.901634216309 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908longrepr:
value = 150.0, expected_bar = '>>>>>>>>>>', expected_color = '\x1b[31m' @pytest.mark.parametrize("value, expected_bar, expected_color", [ (0.0, " ", colorama.Fore.GREEN), (25.0, "██▌ ", colorama.Fore.GREEN), (50.0, "█████ ", colorama.Fore.GREEN), (75.0, "███████▌ ", colorama.Fore.GREEN), (100.0, "██████████", colorama.Fore.GREEN), (150.0, ">>>>>>>>>>", colorama.Fore.RED), (-50.0, "<<<<<<<<<<", colorama.Fore.RED) ]) def test_put_with_progress_and_repr(value, expected_bar, expected_color): pv = PV("TEST:VAL", connection_timeout=2.0) assert pv.wait_for_connection(timeout=2.0), "PV not connected" pv.put(0.0, wait=True) assert pv.get() == pytest.approx(0.0) # Capture tous les prints dans une liste printed_lines = [] def fake_print(*args, **kwargs): line = " ".join(str(a) for a in args) printed_lines.append(line) # Monkeypatch print uniquement dans ce contexte original_print = builtins.print builtins.print = fake_print try: pv.put(value, show_progress=True) finally: builtins.print = original_print # Vérifie que la bonne barre a été affichée au moins une fois matches = [line for line in printed_lines if f"|{expected_bar}|" in line] > assert matches, f"Expected bar '{expected_bar}' not found in:\n" + "\n".join(printed_lines) E AssertionError: Expected bar '>>>>>>>>>>' not found in: E [DEBUG] PUT start = 0.0, stop = 150.0 E [ 0 |[32m [39m| 150 ] [1m0[0m E E assert [] tests/test_utils_pv.py:81: AssertionError📌 Teardown phase
duration:
0.0002699061296880245outcome:
passed -
❌ Test 354
params: value=-50.0, expected_bar="<<<<<<<<<<", expected_color="\u001b[31m"📌 Runtime Parameters
params: value: -50.0 expected_bar: <<<<<<<<<< expected_color: [31m id: -50.0-<<<<<<<<<<-\x1b[31m📌 Setup phase
duration:
0.0003670789301395416outcome:
passed📌 Call phase
duration:
0.0024248529225587845outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_pv.py lineno: 62 message: assert 150.0 == 0.0 ± 1.0e-12 comparison failed Obtained: 150.0 Expected: 0.0 ± 1.0e-12traceback:
- path: tests/test_utils_pv.py lineno: 62 message: AssertionErrorlog:
- name: pcaspy.SimplePV.getValue msg: VAL: Read value 150.0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.1988893 msecs: 198.88925552368164 relativeCreated: 9851.902484893799 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.writeValue msg: VAL: b32ccb34e1bd root old=150.0 new=0.0 args: None levelname: INFO levelno: 20 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 549 funcName: writeValue created: 1754567527.199059 msecs: 199.05900955200195 relativeCreated: 9852.07223892212 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=True mask=3 time=1123415527.199135533 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.199154 msecs: 199.15390014648438 relativeCreated: 9852.167129516602 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.getValue msg: VAL: Read value 0.0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.2002425 msecs: 200.2425193786621 relativeCreated: 9853.25574874878 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908longrepr:
value = -50.0, expected_bar = '<<<<<<<<<<', expected_color = '\x1b[31m' @pytest.mark.parametrize("value, expected_bar, expected_color", [ (0.0, " ", colorama.Fore.GREEN), (25.0, "██▌ ", colorama.Fore.GREEN), (50.0, "█████ ", colorama.Fore.GREEN), (75.0, "███████▌ ", colorama.Fore.GREEN), (100.0, "██████████", colorama.Fore.GREEN), (150.0, ">>>>>>>>>>", colorama.Fore.RED), (-50.0, "<<<<<<<<<<", colorama.Fore.RED) ]) def test_put_with_progress_and_repr(value, expected_bar, expected_color): pv = PV("TEST:VAL", connection_timeout=2.0) assert pv.wait_for_connection(timeout=2.0), "PV not connected" pv.put(0.0, wait=True) > assert pv.get() == pytest.approx(0.0) E assert 150.0 == 0.0 ± 1.0e-12 E E comparison failed E Obtained: 150.0 E Expected: 0.0 ± 1.0e-12 tests/test_utils_pv.py:62: AssertionError📌 Teardown phase
duration:
0.00034753093495965004outcome:
passed
↳ Function: test_use_callback_context_manager
-
❌ Test 355
📌 Setup phase
duration:
0.00018087727949023247outcome:
passed📌 Call phase
duration:
0.0015883911401033401outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_pv.py lineno: 105 message: AttributeError: 'PV' object has no attribute '_callbacks'traceback:
- path: tests/test_utils_pv.py lineno: 105 message: AttributeErrorlog:
- name: pcaspy.SimplePV.getValue msg: VAL: Read value 0.0 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 649 funcName: getValue created: 1754567527.3522375 msecs: 352.2374629974365 relativeCreated: 10005.250692367554 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.SimplePV.writeValue msg: VAL: b32ccb34e1bd root old=0.0 new=0.0 args: None levelname: INFO levelno: 20 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 549 funcName: writeValue created: 1754567527.3524468 msecs: 352.4467945098877 relativeCreated: 10005.460023880005 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908 - name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415527.352522924 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.352541 msecs: 352.5409698486328 relativeCreated: 10005.55419921875 thread: 139845571585728 threadName: Thread-4 processName: MainProcess process: 1908longrepr:
def test_use_callback_context_manager(): pv = PV("TEST:VAL", connection_timeout=2.0) assert pv.wait_for_connection(timeout=2.0), "PV not connected" pv.put(0.0, wait=True) seen_values = [] def callback(value=None, **kwargs): seen_values.append(value) > initial_count = len(pv._callbacks) E AttributeError: 'PV' object has no attribute '_callbacks' tests/test_utils_pv.py:105: AttributeError📌 Teardown phase
duration:
0.000251060351729393outcome:
passed
-
-
📄 test_utils_richcfg.py
↳ Function: test_rich_inspector_outputs_more_than_builtin
-
❌ Test 405
📌 Setup phase
duration:
0.00020420504733920097outcome:
passed📌 Call phase
duration:
0.097411650698632outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_richcfg.py lineno: 100 message: assert '30' not in 'Type: ...lf.name}!"\n' '30' is contained here: ct at 0x7f30574f38e0> ? ++ File: /workspace/tligui_y/slic/tests/test_utils_richcfg.py Source: class User: """Represents a user in the system.""" role = "admin" def __init__(self, name: str, age: int): self.name = name self.age = age def greet(self): """Returns a welcome message.""" return f"Welcome, {self.name}!"traceback:
- path: tests/test_utils_richcfg.py lineno: 100 message: AssertionErrorlog:
- name: pcaspy.Driver.setParam msg: VAL: value=0.0 alarm=NO_ALARM severity=NO_ALARM flag=False mask=0 time=1123415527.454923109 args: None levelname: DEBUG levelno: 10 pathname: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pcaspy/driver.py filename: driver.py module: driver exc_info: None exc_text: None stack_info: None lineno: 175 funcName: setParam created: 1754567527.454987 msecs: 454.9870491027832 relativeCreated: 10108.0002784729 thread: 139845563193024 threadName: Thread-3 processName: MainProcess process: 1908longrepr:
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f3057db0910> def test_rich_inspector_outputs_more_than_builtin(monkeypatch): # Simulate a fake IPython shell class FakeInspector: def __init__(self): self.pinfo = None class FakeIPython: def __init__(self): self.inspector = FakeInspector() fake_ipy = FakeIPython() monkeypatch.setattr("slic.utils.richcfg.get_ipython", lambda: fake_ipy) # Apply your Rich-based inspector patch replace_ipython_inspect() assert isinstance(fake_ipy.inspector.pinfo, types.FunctionType) # Capture Rich inspector output rich_buf = io.StringIO() monkeypatch.setattr("sys.stdout", rich_buf) user = User("Alice", 30) fake_ipy.inspector.pinfo(user, oname="user", detail_level=1) rich_text = rich_buf.getvalue() # Capture original IPython inspector output builtin_buf = io.StringIO() user = User("Alice", 30) original_stdout = sys.stdout sys.stdout = builtin_buf inspector = Inspector() info_dict = inspector.info(user) info = dict_to_oinfo(info_dict) inspector.pinfo(user, oname="user", info=info, detail_level=1) sys.stdout = original_stdout builtin_text = builtin_buf.getvalue() builtin_text = strip_ansi(builtin_text) print(rich_text, file=sys.__stdout__) print('\n\n\n', file=sys.__stdout__) print(builtin_text, file=sys.__stdout__) # Rich output: shows actual instance content # Rich shows live instance attribute values like: # age = 30 # name = 'Alice' # role = 'admin' assert "age = 30" in rich_text assert "name = 'Alice'" in rich_text # Built-in inspector does NOT show instance values > assert "30" not in builtin_text E assert '30' not in 'Type: ...lf.name}!"\n' E E '30' is contained here: E ct at 0x7f30574f38e0> E ? ++ E File: /workspace/tligui_y/slic/tests/test_utils_richcfg.py E Source: E class User: E """Represents a user in the system.""" E E role = "admin" E E def __init__(self, name: str, age: int): E self.name = name E self.age = age E E def greet(self): E """Returns a welcome message.""" E return f"Welcome, {self.name}!" tests/test_utils_richcfg.py:100: AssertionError📌 Teardown phase
duration:
0.0002973410300910473outcome:
passed
-
-
📄 test_utils_tqdm_mod.py
↳ Function: test_float_alignment_in_bar
-
❌ Test 454
📌 Setup phase
duration:
0.00010957103222608566outcome:
passed📌 Call phase
duration:
0.0016433759592473507outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_tqdm_mod.py lineno: 130 message: assert 3 == 1 + where 3 = len({50, 64, 65}) + where {50, 64, 65} = set([50, 64, 64, 65, 65])traceback:
- path: tests/test_utils_tqdm_mod.py lineno: 130 message: AssertionErrorlongrepr:
def test_float_alignment_in_bar(): # Capture the tqdm output into a string buffer f = io.StringIO() with redirect_stdout(f): bar = tqdm_mod(total=100.12, desc="AlignBar", file=f, miniters=1, mininterval=0) bar.set(1.3333) bar.set(12.5) bar.set(99.89) bar.set(100.12) bar.close() # Extract lines containing the label lines = extract_lines(f.getvalue(), "AlignBar") # Expected formatted values using format_sizeof expected_values = [ "1.3/100.1", "12.5/100.1", "99.9/100.1", "100.1/100.1", ] # Extract the actual padded float/total strings from the full lines values = [] for line in lines: match = re.search(r"(\d{1,3}\.\d)/100\.1", line) if match: values.append(match.group(0)) # Ensure raw 100.12 never appears : format_sizeof must have truncated it assert all("100.12" not in line for line in lines), "Unrounded value '100.12' found in output!" # Check all expected values appear rounded as expected by format_sizeof for expected in expected_values: assert expected in values, f"Missing expected value: {expected}" # Check that all values are visually aligned, output with same length, to ensure that format_sizeof add the good number avec spaces print("\n") bar_segments = [] for line in lines: match = re.search(r".*?\]", line) if match: bar_segments.append(match.group(0)) print(match.group(0)) lengths = [len(seg) for seg in bar_segments] > assert len(set(lengths)) == 1 E assert 3 == 1 E + where 3 = len({50, 64, 65}) E + where {50, 64, 65} = set([50, 64, 64, 65, 65]) tests/test_utils_tqdm_mod.py:130: AssertionError📌 Teardown phase
duration:
0.0001705549657344818outcome:
passed
-
📚 Collected files
✅ (1 tests)
-
✅
- Outcome:
passed - result:
- nodeid: . type: Dir - Outcome:
✅ ci-reports (13 tests)
-
✅ ci-reports
- Outcome:
passed - result:
- nodeid: ci-reports/allure type: Dir - nodeid: ci-reports/junit type: Dir - nodeid: ci-reports/markdown type: Dir-
✅ 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 - Outcome:
-
✅ ci-reports/allure/data
- Outcome:
passed - result:
- nodeid: ci-reports/allure/data/test-cases type: Dir - Outcome:
-
✅ ci-reports/allure/data/test-cases
- Outcome:
passed - result:
[] - Outcome:
-
✅ ci-reports/allure/export
- Outcome:
passed - result:
[] - Outcome:
-
✅ ci-reports/allure/history
- Outcome:
passed - result:
[] - Outcome:
-
✅ 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 - Outcome:
-
✅ ci-reports/allure/plugin/behaviors
- Outcome:
passed - result:
[] - Outcome:
-
✅ ci-reports/allure/plugin/packages
- Outcome:
passed - result:
[] - Outcome:
-
✅ ci-reports/allure/plugin/screen-diff
- Outcome:
passed - result:
[] - Outcome:
-
✅ ci-reports/allure/widgets
- Outcome:
passed - result:
[] - Outcome:
-
✅ ci-reports/junit
- Outcome:
passed - result:
[] - Outcome:
-
✅ ci-reports/markdown
- Outcome:
passed - result:
[] - Outcome:
- Outcome:
✅ elog-2.7.1 (16 tests)
-
✅ elog-2.7.1
- Outcome:
passed - result:
- nodeid: elog-2.7.1/contrib type: Dir - nodeid: elog-2.7.1/doc type: Dir - nodeid: elog-2.7.1/logbooks type: Dir - nodeid: elog-2.7.1/man type: Dir - nodeid: elog-2.7.1/resources type: Dir - nodeid: elog-2.7.1/scripts type: Dir - nodeid: elog-2.7.1/src type: Dir - nodeid: elog-2.7.1/themes type: Dir-
✅ elog-2.7.1/contrib
- Outcome:
passed - result:
[] - Outcome:
-
✅ elog-2.7.1/doc
- Outcome:
passed - result:
[] - Outcome:
-
✅ elog-2.7.1/logbooks
- Outcome:
passed - result:
- nodeid: elog-2.7.1/logbooks/demo type: Dir - Outcome:
-
✅ elog-2.7.1/logbooks/demo
- Outcome:
passed - result:
[] - Outcome:
-
✅ elog-2.7.1/man
- Outcome:
passed - result:
[] - Outcome:
-
✅ elog-2.7.1/resources
- Outcome:
passed - result:
[] - Outcome:
-
✅ elog-2.7.1/scripts
- Outcome:
passed - result:
- nodeid: elog-2.7.1/scripts/fckeditor type: Dir - Outcome:
-
✅ elog-2.7.1/scripts/fckeditor
- Outcome:
passed - result:
- nodeid: elog-2.7.1/scripts/fckeditor/editor type: Dir - Outcome:
-
✅ elog-2.7.1/scripts/fckeditor/editor
- Outcome:
passed - result:
- nodeid: elog-2.7.1/scripts/fckeditor/editor/plugins type: Dir - Outcome:
-
✅ elog-2.7.1/scripts/fckeditor/editor/plugins
- Outcome:
passed - result:
- nodeid: elog-2.7.1/scripts/fckeditor/editor/plugins/elog type: Dir - Outcome:
-
✅ elog-2.7.1/scripts/fckeditor/editor/plugins/elog
- Outcome:
passed - result:
[] - Outcome:
-
✅ elog-2.7.1/src
- Outcome:
passed - result:
[] - Outcome:
-
✅ elog-2.7.1/themes
- Outcome:
passed - result:
- nodeid: elog-2.7.1/themes/default type: Dir - Outcome:
-
✅ elog-2.7.1/themes/default
- Outcome:
passed - result:
- nodeid: elog-2.7.1/themes/default/icons type: Dir - Outcome:
-
✅ elog-2.7.1/themes/default/icons
- Outcome:
passed - result:
[] - Outcome:
- Outcome:
✅ elog_instance (3 tests)
-
✅ elog_instance
- Outcome:
passed - result:
- nodeid: elog_instance/logbooks type: Dir-
✅ elog_instance/logbooks
- Outcome:
passed - result:
- nodeid: elog_instance/logbooks/demo type: Dir - Outcome:
-
✅ elog_instance/logbooks/demo
- Outcome:
passed - result:
[] - Outcome:
- Outcome:
✅ morbidissimo (6 tests)
-
✅ morbidissimo
- Outcome:
passed - result:
- nodeid: morbidissimo/morbidissimo type: Package-
✅ morbidissimo/morbidissimo
- Outcome:
passed - result:
- nodeid: morbidissimo/morbidissimo/modman type: Package - nodeid: morbidissimo/morbidissimo/morioc type: Package - Outcome:
-
✅ morbidissimo/morbidissimo/modman
- Outcome:
passed - result:
- nodeid: morbidissimo/morbidissimo/modman/scripts type: Dir - Outcome:
-
✅ morbidissimo/morbidissimo/modman/scripts
- Outcome:
passed - result:
[] - Outcome:
-
✅ morbidissimo/morbidissimo/morioc
- Outcome:
passed - result:
- nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py type: Module - Outcome:
-
✅ morbidissimo/morbidissimo/morioc/test_infer_type.py
- Outcome:
passed - result:
- nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_type_str type: Function lineno: 14 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_type_float type: Function lineno: 17 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_type_int type: Function lineno: 20 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_str type: Function lineno: 24 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_long_str type: Function lineno: 27 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_float type: Function lineno: 32 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_value_int type: Function lineno: 35 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_empty_value_str type: Function lineno: 39 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_empty_value_float type: Function lineno: 42 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_empty_value_int type: Function lineno: 45 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_pstrue_str type: Function lineno: 49 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_pstrue_float type: Function lineno: 52 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_pstrue_int type: Function lineno: 55 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_psfalse_str type: Function lineno: 59 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_psfalse_float type: Function lineno: 62 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_psfalse_int type: Function lineno: 65 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_None type: Function lineno: 69 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_True type: Function lineno: 72 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_False type: Function lineno: 75 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_nan type: Function lineno: 78 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_nan type: Function lineno: 81 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_int type: Function lineno: 85 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np2D_int type: Function lineno: 91 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_float type: Function lineno: 99 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np2D_float type: Function lineno: 105 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_bool type: Function lineno: 114 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np1D_object type: Function lineno: 119 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_scalar_int type: Function lineno: 126 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_scalar_float type: Function lineno: 131 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_np_scalar_bool type: Function lineno: 136 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_list type: Function lineno: 145 - nodeid: morbidissimo/morbidissimo/morioc/test_infer_type.py::test_it_tuple type: Function lineno: 150 - Outcome:
- Outcome:
✅ mxml (1 tests)
-
✅ mxml
- Outcome:
passed - result:
[] - Outcome:
✅ outputs (1 tests)
-
✅ outputs
- Outcome:
passed - result:
[] - Outcome:
✅ slic (30 tests)
-
✅ slic
- Outcome:
passed - result:
- nodeid: slic/core type: Package - nodeid: slic/devices type: Package - nodeid: slic/gui type: Package - nodeid: slic/utils type: Package-
✅ slic/core
- Outcome:
passed - 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 - Outcome:
-
✅ slic/core/acquisition
- Outcome:
passed - result:
- nodeid: slic/core/acquisition/broker type: Package - Outcome:
-
✅ slic/core/acquisition/broker
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/core/adjustable
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/core/condition
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/core/device
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/core/scanner
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/core/sensor
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/core/task
- Outcome:
passed - result:
[] - Outcome:
-
✅ 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 - Outcome:
-
✅ slic/devices/cameras
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/devices/endstations
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/devices/general
- Outcome:
passed - result:
- nodeid: slic/devices/general/detectors type: Package - nodeid: slic/devices/general/unused type: Dir - Outcome:
-
✅ slic/devices/general/detectors
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/devices/general/unused
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/devices/loptics
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/devices/timing
- Outcome:
passed - result:
- nodeid: slic/devices/timing/events type: Package - Outcome:
-
✅ slic/devices/timing/events
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/devices/xdiagnostics
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/devices/xoptics
- Outcome:
passed - result:
- nodeid: slic/devices/xoptics/slits type: Package - nodeid: slic/devices/xoptics/unused type: Dir - Outcome:
-
✅ slic/devices/xoptics/slits
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/devices/xoptics/unused
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/gui
- Outcome:
passed - result:
- nodeid: slic/gui/daqpanels type: Package - nodeid: slic/gui/widgets type: Package - Outcome:
-
✅ slic/gui/daqpanels
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/gui/widgets
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/utils
- Outcome:
passed - result:
- nodeid: slic/utils/ioc type: Package - nodeid: slic/utils/unused type: Dir - Outcome:
-
✅ slic/utils/ioc
- Outcome:
passed - result:
[] - Outcome:
-
✅ slic/utils/unused
- Outcome:
passed - result:
- nodeid: slic/utils/unused/xsim type: Package - Outcome:
-
✅ slic/utils/unused/xsim
- Outcome:
passed - result:
[] - Outcome:
- Outcome:
✅ temp-ci (1 tests)
-
✅ temp-ci
- Outcome:
passed - result:
[] - Outcome:
✅ tests (43 tests)
-
✅ tests
- Outcome:
passed - result:
- nodeid: tests/test_utils_argfwd.py type: Module - nodeid: tests/test_utils_ask_yes_no.py type: Module - nodeid: tests/test_utils_channels.py type: Module - nodeid: tests/test_utils_config.py type: Module - nodeid: tests/test_utils_cpint.py type: Module - nodeid: tests/test_utils_debug.py type: Module - nodeid: tests/test_utils_dictext.py type: Module - nodeid: tests/test_utils_dotdir.py type: Module - nodeid: tests/test_utils_elog.py type: Module - nodeid: tests/test_utils_eval.py type: Module - nodeid: tests/test_utils_exceptions.py type: Module - nodeid: tests/test_utils_get_adj.py type: Module - nodeid: tests/test_utils_hastyepics.py type: Module - nodeid: tests/test_utils_ipy.py type: Module - nodeid: tests/test_utils_jsonext.py type: Module - nodeid: tests/test_utils_lazypv.py type: Module - nodeid: tests/test_utils_logcfg.py type: Module - nodeid: tests/test_utils_logign.py type: Module - nodeid: tests/test_utils_metaclasses.py type: Module - nodeid: tests/test_utils_namespace.py type: Module - nodeid: tests/test_utils_npy.py type: Module - nodeid: tests/test_utils_path.py type: Module - nodeid: tests/test_utils_picklio.py type: Module - nodeid: tests/test_utils_printing.py type: Module - nodeid: tests/test_utils_pv.py type: Module - nodeid: tests/test_utils_rangebar.py type: Module - nodeid: tests/test_utils_readable.py type: Module - nodeid: tests/test_utils_registry.py type: Module - nodeid: tests/test_utils_richcfg.py type: Module - nodeid: tests/test_utils_run_later.py type: Module - nodeid: tests/test_utils_sendmail.py type: Module - nodeid: tests/test_utils_shortcut.py type: Module - nodeid: tests/test_utils_snapshot.py type: Module - nodeid: tests/test_utils_termtitle.py type: Module - nodeid: tests/test_utils_tqdm_mod.py type: Module - nodeid: tests/test_utils_trinary.py type: Module - nodeid: tests/test_utils_typecast.py type: Module - nodeid: tests/test_utils_utils.py type: Module - nodeid: tests/test_utils_xrange.py type: Module-
✅ tests/test_utils_argfwd.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_argfwd.py::test_split_at[lst0-2-expected0] type: Function lineno: 8 - nodeid: tests/test_utils_argfwd.py::test_split_at[lst1-1-expected1] type: Function lineno: 8 - nodeid: tests/test_utils_argfwd.py::test_split_at[lst2-0-expected2] type: Function lineno: 8 - nodeid: tests/test_utils_argfwd.py::test_merge_lists_unique[a0-b0-expected0] type: Function lineno: 17 - nodeid: tests/test_utils_argfwd.py::test_merge_lists_unique[a1-b1-expected1] type: Function lineno: 17 - nodeid: tests/test_utils_argfwd.py::test_merge_lists_unique[a2-b2-expected2] type: Function lineno: 17 - nodeid: tests/test_utils_argfwd.py::test_merge_dicts_unique[a0-b0-expected0] type: Function lineno: 26 - nodeid: tests/test_utils_argfwd.py::test_merge_dicts_unique[a1-b1-expected1] type: Function lineno: 26 - nodeid: tests/test_utils_argfwd.py::test_merge_dicts_unique[a2-b2-expected2] type: Function lineno: 26 - nodeid: tests/test_utils_argfwd.py::test_make_params_pos_basic[pos0-expected_names0] type: Function lineno: 35 - nodeid: tests/test_utils_argfwd.py::test_make_params_pos_basic[pos1-expected_names1] type: Function lineno: 35 - nodeid: tests/test_utils_argfwd.py::test_make_params_pos_basic[pos2-expected_names2] type: Function lineno: 35 - nodeid: tests/test_utils_argfwd.py::test_make_params_kw_basic[kw0-expected_keys0-expected_defaults0] type: Function lineno: 48 - nodeid: tests/test_utils_argfwd.py::test_make_params_kw_basic[kw1-expected_keys1-expected_defaults1] type: Function lineno: 48 - nodeid: tests/test_utils_argfwd.py::test_make_params_kw_basic[kw2-expected_keys2-expected_defaults2] type: Function lineno: 48 - nodeid: tests/test_utils_argfwd.py::test_make_signature_parametrized[pos0-kw0-(x, y, z=3)] type: Function lineno: 60 - nodeid: tests/test_utils_argfwd.py::test_make_signature_parametrized[pos1-kw1-(a, b=1, c=2)] type: Function lineno: 60 - nodeid: tests/test_utils_argfwd.py::test_make_signature_parametrized[pos2-kw2-(flag=False)] type: Function lineno: 60 - nodeid: tests/test_utils_argfwd.py::test_get_args_parametrized[<lambda>-expected_pos0-expected_kw0] type: Function lineno: 71 - nodeid: tests/test_utils_argfwd.py::test_get_args_parametrized[<lambda>-expected_pos1-expected_kw1] type: Function lineno: 71 - nodeid: tests/test_utils_argfwd.py::test_get_args_parametrized[<lambda>-expected_pos2-expected_kw2] type: Function lineno: 71 - nodeid: tests/test_utils_argfwd.py::test_signature_visible[wrap_all-(a, b, d=30, c=10)] type: Function lineno: 104 - nodeid: tests/test_utils_argfwd.py::test_signature_visible[wrap_skip-(a, b, c=10, d=20)] type: Function lineno: 104 - nodeid: tests/test_utils_argfwd.py::test_signature_visible[wrap_ignore_all-(x, y, c=10, d=20)] type: Function lineno: 104 - nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_all-args0-kwargs0-36] type: Function lineno: 112 - nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_all-args1-kwargs1-11] type: Function lineno: 112 - nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_skip-args2-kwargs2-10] type: Function lineno: 112 - nodeid: tests/test_utils_argfwd.py::test_wrapper_behavior[wrap_ignore_all-args3-kwargs3-10] type: Function lineno: 112 - Outcome:
-
✅ tests/test_utils_ask_yes_no.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-y-True-Question? [y/n] ] type: Function lineno: 8 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-yes-True-Question? [y/n] ] type: Function lineno: 8 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-n-False-Question? [y/n] ] type: Function lineno: 8 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-no-False-Question? [y/n] ] type: Function lineno: 8 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input4-True-Question? [y/n] ] type: Function lineno: 8 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input5-False-Question? [y/n] ] type: Function lineno: 8 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[None-user_input6-True-Question? [y/n] ] type: Function lineno: 8 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y-y-True-Question? [Y/n] ] type: Function lineno: 8 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y-n-False-Question? [Y/n] ] type: Function lineno: 8 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[y--True-Question? [Y/n] ] type: Function lineno: 8 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n-y-True-Question? [y/N] ] type: Function lineno: 8 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n-n-False-Question? [y/N] ] type: Function lineno: 8 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no[n--False-Question? [y/N] ] type: Function lineno: 8 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-KeyboardInterrupt-False-n] type: Function lineno: 46 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-KeyboardInterrupt-True-y] type: Function lineno: 46 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[y-KeyboardInterrupt-False-n] type: Function lineno: 46 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[y-KeyboardInterrupt-True-y] type: Function lineno: 46 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-KeyboardInterrupt-False-n] type: Function lineno: 46 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input5-False-n] type: Function lineno: 46 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input6-True-y] type: Function lineno: 46 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[None-user_input7-False-None] type: Function lineno: 46 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-user_input8-False-None] type: Function lineno: 46 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_c[n-user_input9-False-Invalid] type: Function lineno: 46 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-EOFError-False-n] type: Function lineno: 79 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-EOFError-True-y] type: Function lineno: 79 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[y-EOFError-True-y] type: Function lineno: 79 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-True-y] type: Function lineno: 79 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-False-n] type: Function lineno: 79 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input5-True-y] type: Function lineno: 79 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input6-False-n] type: Function lineno: 79 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[y-EOFError-True-None] type: Function lineno: 79 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-EOFError-False-None] type: Function lineno: 79 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input9-True-None] type: Function lineno: 79 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[n-user_input10-False-None] type: Function lineno: 79 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input11-True-None] type: Function lineno: 79 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input12-False-n] type: Function lineno: 79 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_ctrl_d[None-user_input13-True-y] type: Function lineno: 79 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-invalid-None-user_input0-False] type: Function lineno: 117 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-None-notananswer-user_input1-True] type: Function lineno: 117 - nodeid: tests/test_utils_ask_yes_no.py::test_ask_yes_no_mixed_sequences[None-n-nop-user_input2-False] type: Function lineno: 117 - Outcome:
-
✅ tests/test_utils_channels.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_channels.py::test_load_channels_and_channels_class_with_professional_names type: Function lineno: 42 - Outcome:
-
✅ tests/test_utils_config.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_config.py::test_config_with_nested_and_list_data type: Function lineno: 15 - nodeid: tests/test_utils_config.py::test_config_with_strange_and_edge_keys type: Function lineno: 73 - Outcome:
-
✅ tests/test_utils_cpint.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[red] type: Function lineno: 9 - nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[blue] type: Function lineno: 9 - nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[yellow] type: Function lineno: 9 - nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[green] type: Function lineno: 9 - nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[cyan] type: Function lineno: 9 - nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[magenta] type: Function lineno: 9 - nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[white] type: Function lineno: 9 - nodeid: tests/test_utils_cpint.py::test_load_color_variants_all_keys_and_types[black] type: Function lineno: 9 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects0-color_spec0- | -['Fancy', 'list'] | {'a': 7} | None-None] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects1-color_spec1- - -{'k': [1, 2]} - 99 - ['X', ['Y']]-None] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects2-color_spec2- / -[] / {} / End-None] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects3-color_spec3-;-['', [3, 4]];done;0-None] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects4-color_spec4-::-['alpha', None]::['beta', {}]::stop-None] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects5-color_spec5- ... -['deep', ['deeper', ['deepest']]] ... X-None] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects6-color_spec6- // -{'dict': {'nested': [4, 5]}} // [True, False] // 6.28-None] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects7-color_spec7-==-['A', ['B']]==string==C-None] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects8-color_spec8- ++ -['Test', None, []] ++ {'v': 0}-None] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects9-None-;-['no', 'color'];plain-None] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects10-None- | -['simple'] | | 12-None] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects11-None- : -[['very', 'deep']] : {'ok': True}-None] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects12-color_spec12-|-['fail', 'color']|123-ValueError] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects13-color_spec13- * -['error'] * {}-ValueError] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects14-color_spec14-//-['nope']//['bad']-ValueError] type: Function lineno: 24 - nodeid: tests/test_utils_cpint.py::test_cprint_all_cases_fancy[objects15-color_spec15----wrong--base-ValueError] type: Function lineno: 24 - Outcome:
-
✅ tests/test_utils_debug.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_debug.py::test_traceable[A-entry0-creating: A(10, 20)] type: Function lineno: 21 - nodeid: tests/test_utils_debug.py::test_traceable[A-entry1-creating: A(10, 20, e=100)] type: Function lineno: 21 - nodeid: tests/test_utils_debug.py::test_traceable[A-entry2-creating: A('foo', [1, 2, 3], flag=True, data={'x': 9})] type: Function lineno: 21 - nodeid: tests/test_utils_debug.py::test_traceable[A-entry3-creating: A(CustomObj(big), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name='test', meta='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy...)] type: Function lineno: 21 - nodeid: tests/test_utils_debug.py::test_traceable[A-entry4-creating: A('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..., [0, 0, 0, 0, 0])] type: Function lineno: 21 - nodeid: tests/test_utils_debug.py::test_short_repr[abc-10-'abc'] type: Function lineno: 52 - nodeid: tests/test_utils_debug.py::test_short_repr[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaa...] type: Function lineno: 52 - nodeid: tests/test_utils_debug.py::test_short_repr[12345-10-12345] type: Function lineno: 52 - nodeid: tests/test_utils_debug.py::test_short_repr[value3-15-[0, 0, 0, 0, 0,...] type: Function lineno: 52 - nodeid: tests/test_utils_debug.py::test_short_repr[None-10-None] type: Function lineno: 52 - nodeid: tests/test_utils_debug.py::test_short_repr[value5-20-Obj(xxxxxxxxxxxxxxxxx...] type: Function lineno: 52 - Outcome:
-
✅ tests/test_utils_dictext.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data0-x-1] type: Function lineno: 12 - nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data1-world-ok] type: Function lineno: 12 - nodeid: tests/test_utils_dictext.py::test_attrdict_getattr[data2-outer-expected2] type: Function lineno: 12 - nodeid: tests/test_utils_dictext.py::test_attrdict_setattr[initial0-nouveau-123] type: Function lineno: 26 - nodeid: tests/test_utils_dictext.py::test_attrdict_setattr[initial1-b-valeur] type: Function lineno: 26 - nodeid: tests/test_utils_dictext.py::test_attrdict_delattr[initial0-a-expected_keys0] type: Function lineno: 40 - nodeid: tests/test_utils_dictext.py::test_attrdict_delattr[initial1-k-expected_keys1] type: Function lineno: 40 - nodeid: tests/test_utils_dictext.py::test_attrdict_dir[data0-expected_keys0] type: Function lineno: 55 - nodeid: tests/test_utils_dictext.py::test_attrdict_dir[data1-expected_keys1] type: Function lineno: 55 - nodeid: tests/test_utils_dictext.py::test_attrdict_getattr_and_missing[data0-x-1-None] type: Function lineno: 69 - nodeid: tests/test_utils_dictext.py::test_attrdict_getattr_and_missing[data1-missing-None-'MyDict' object has no attribute 'missing'] type: Function lineno: 69 - nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs0-None-kwargs0-expected0] type: Function lineno: 90 - nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs1-other1-kwargs1-expected1] type: Function lineno: 90 - nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs2-other2-kwargs2-expected2] type: Function lineno: 90 - nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs3-None-kwargs3-expected3] type: Function lineno: 90 - nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs4-other4-kwargs4-expected4] type: Function lineno: 90 - nodeid: tests/test_utils_dictext.py::test_dictupdatemixin_init_and_update[init_kwargs5-other5-kwargs5-expected5] type: Function lineno: 90 - Outcome:
-
✅ tests/test_utils_dotdir.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_dotdir.py::test_dotdir_creation_and_base_exists type: Function lineno: 14 - nodeid: tests/test_utils_dotdir.py::test_dotdir_repr_returns_path_str type: Function lineno: 28 - nodeid: tests/test_utils_dotdir.py::test_dotdir_call type: Function lineno: 35 - Outcome:
-
✅ tests/test_utils_elog.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_elog.py::test_post_local type: Function lineno: 29 - nodeid: tests/test_utils_elog.py::test_get_default_elog_instance_with_direct_password_and_real_check type: Function lineno: 53 - nodeid: tests/test_utils_elog.py::test_get_default_elog_instance_asks_password_and_opens type: Function lineno: 66 - nodeid: tests/test_utils_elog.py::test_get_default_elog_with_path_home type: Function lineno: 84 - nodeid: tests/test_utils_elog.py::test_post type: Function lineno: 115 - nodeid: tests/test_utils_elog.py::test_screenshot type: Function lineno: 131 - Outcome:
-
✅ tests/test_utils_eval.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[1 + 2-3] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[4 - 2-2] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[3 * 5-15] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[10 / 2-5.0] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[10 % 3-1] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-5--5] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[+7-7] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[1 + 2 * 3-7] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[(1 + 2) * 3-9] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-(-3)-3] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-2 + 4 * 2-6] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[(4 + 5) * (6 - 1)-45] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[(((3)))-3] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[-(-(-2))--2] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[3 + +4-7] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[3 + -4--1] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[True + 1-2] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid['string'-string] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid[1e1000 * 1e1000-inf] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_valid['a' + 'b'-ab] type: Function lineno: 7 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[2 ** 3-Unsupported BinOp Pow] type: Function lineno: 33 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[3 << 1-Unsupported BinOp LShift] type: Function lineno: 33 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[1 < 2-Unsupported node type Compare] type: Function lineno: 33 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[abs(3)-Unsupported node type Call] type: Function lineno: 33 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[a + 2-Unsupported node type Name] type: Function lineno: 33 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[string-Unsupported node type Name] type: Function lineno: 33 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[[1, 2] + [3]-Unsupported node type List] type: Function lineno: 33 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_raises_with_message[{1: 2}-Unsupported node type Dict] type: Function lineno: 33 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_runtime_errors[1 / 0-ZeroDivisionError] type: Function lineno: 52 - nodeid: tests/test_utils_eval.py::test_arithmetic_eval_runtime_errors[10 % 0-ZeroDivisionError] type: Function lineno: 52 - nodeid: tests/test_utils_eval.py::test_forgiving_eval[1 + 2-3] type: Function lineno: 61 - nodeid: tests/test_utils_eval.py::test_forgiving_eval[bad + 2-bad + 2] type: Function lineno: 61 - nodeid: tests/test_utils_eval.py::test_forgiving_eval[1 / 0-1 / 0] type: Function lineno: 61 - nodeid: tests/test_utils_eval.py::test_forgiving_eval[2 ** 10-2 ** 10] type: Function lineno: 61 - nodeid: tests/test_utils_eval.py::test_defaulting_eval[3 * 4-0-12] type: Function lineno: 71 - nodeid: tests/test_utils_eval.py::test_defaulting_eval[invalid + 1-99-99] type: Function lineno: 71 - nodeid: tests/test_utils_eval.py::test_defaulting_eval[1 / 0--1--1] type: Function lineno: 71 - nodeid: tests/test_utils_eval.py::test_defaulting_eval[2 ** 10-42-42] type: Function lineno: 71 - Outcome:
-
✅ tests/test_utils_exceptions.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_key_error-High-level task failed\ncaused by KeyError: 'missing'] type: Function lineno: 28 - nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_index_error-High-level task failed\ncaused by IndexError: list index out of range] type: Function lineno: 28 - nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_zero_division-High-level task failed\ncaused by ZeroDivisionError: division by zero] type: Function lineno: 28 - nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_value_error-High-level task failed\ncaused by ValueError: invalid literal for int() with base 10: 'not_a_number'] type: Function lineno: 28 - nodeid: tests/test_utils_exceptions.py::test_chained_exception_various[cause_type_error-High-level task failed\ncaused by TypeError: can only concatenate str (not "int") to str] type: Function lineno: 28 - nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_key_error-KeyError: 'missing'] type: Function lineno: 60 - nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_index_error-IndexError: list index out of range] type: Function lineno: 60 - nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_zero_division-ZeroDivisionError: division by zero] type: Function lineno: 60 - nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_value_error-ValueError: invalid literal for int() with base 10: 'not_a_number'] type: Function lineno: 60 - nodeid: tests/test_utils_exceptions.py::test_printed_exception[cause_type_error-TypeError: can only concatenate str (not "int") to str] type: Function lineno: 60 - Outcome:
-
✅ tests/test_utils_get_adj.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_get_adj.py::test_get_adj_success type: Function lineno: 23 - nodeid: tests/test_utils_get_adj.py::test_get_adj_not_found type: Function lineno: 27 - nodeid: tests/test_utils_get_adj.py::test_ensure_adjs_mixed type: Function lineno: 31 - nodeid: tests/test_utils_get_adj.py::test_get_adjs_filter type: Function lineno: 37 - Outcome:
-
✅ tests/test_utils_hastyepics.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_hastyepics.py::test_motor_instantiation_fast_vs_epics type: Function lineno: 11 - nodeid: tests/test_utils_hastyepics.py::test_motor_without_suffix_and_dot type: Function lineno: 38 - nodeid: tests/test_utils_hastyepics.py::test_motor_invalid_name_raises type: Function lineno: 50 - nodeid: tests/test_utils_hastyepics.py::test_motor_init_list_has_no_disabled type: Function lineno: 55 - nodeid: tests/test_utils_hastyepics.py::test_motor_initializes_device_attrs type: Function lineno: 59 - nodeid: tests/test_utils_hastyepics.py::test_motor_pv_connection_skipped_by_default type: Function lineno: 82 - nodeid: tests/test_utils_hastyepics.py::test_motor_adds_all_extras_pvs type: Function lineno: 90 - nodeid: tests/test_utils_hastyepics.py::test_motor_PV_method_exists_and_works type: Function lineno: 109 - Outcome:
-
✅ tests/test_utils_ipy.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_ipy.py::test_devices_repr_fallback_and_ignore type: Function lineno: 19 - Outcome:
-
✅ tests/test_utils_jsonext.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj0-expected0] type: Function lineno: 7 - nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj1-42] type: Function lineno: 7 - nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[(1-1j)-expected2] type: Function lineno: 7 - nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj3-/tmp/file.txt] type: Function lineno: 7 - nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj4-expected4] type: Function lineno: 7 - nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj5-expected5] type: Function lineno: 7 - nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj6-expected6] type: Function lineno: 7 - nodeid: tests/test_utils_jsonext.py::test_json_validate_save_load[input_obj7-expected7] type: Function lineno: 7 - Outcome:
-
✅ tests/test_utils_lazypv.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_lazypv.py::test_getattr type: Function lineno: 7 - Outcome:
-
✅ tests/test_utils_logcfg.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_logcfg.py::test_custom_log_outputs[LONG-<lambda>-This is a LONG message] type: Function lineno: 21 - nodeid: tests/test_utils_logcfg.py::test_custom_log_outputs[ENLARGE-<lambda>-Please ENLARGE this!] type: Function lineno: 21 - nodeid: tests/test_utils_logcfg.py::test_import_logging_once_per_module type: Function lineno: 51 - Outcome:
-
✅ tests/test_utils_logign.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_logign.py::test_ignore_log_msg_behavior[WARNING-This should be ignored-This should appear] type: Function lineno: 9 - nodeid: tests/test_utils_logign.py::test_ignore_log_msg_behavior[ENLARGE-ENLARGE this-Keep this ENLARGE] type: Function lineno: 9 - nodeid: tests/test_utils_logign.py::test_ignore_only_by_level type: Function lineno: 42 - nodeid: tests/test_utils_logign.py::test_ignore_only_by_msg type: Function lineno: 64 - nodeid: tests/test_utils_logign.py::test_filter_removed_after_context type: Function lineno: 86 - Outcome:
-
✅ tests/test_utils_metaclasses.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_metaclasses.py::test_combine_classes_combines_methods type: Function lineno: 14 - nodeid: tests/test_utils_metaclasses.py::test_registryabc_combines_registrymeta_and_abcmeta type: Function lineno: 25 - Outcome:
-
✅ tests/test_utils_namespace.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_namespace.py::test_namespace_pretty_repr_mixed_and_nested type: Function lineno: 4 - Outcome:
-
✅ tests/test_utils_npy.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_npy.py::test_nice_arange[0-5-1-expected0] type: Function lineno: 7 - nodeid: tests/test_utils_npy.py::test_nice_arange[5-0--1-expected1] type: Function lineno: 7 - nodeid: tests/test_utils_npy.py::test_nice_arange[1-2-0.3-expected2] type: Function lineno: 7 - nodeid: tests/test_utils_npy.py::test_nice_arange[-2-2-1.5-expected3] type: Function lineno: 7 - nodeid: tests/test_utils_npy.py::test_nice_arange[2.5-0.5--0.4-expected4] type: Function lineno: 7 - nodeid: tests/test_utils_npy.py::test_nice_linspace[0-10-4-expected0] type: Function lineno: 18 - nodeid: tests/test_utils_npy.py::test_nice_linspace[5-15-2-expected1] type: Function lineno: 18 - nodeid: tests/test_utils_npy.py::test_nice_linspace[-5-5-4-expected2] type: Function lineno: 18 - nodeid: tests/test_utils_npy.py::test_nice_linspace[0-1-3-expected3] type: Function lineno: 18 - nodeid: tests/test_utils_npy.py::test_nice_linspace[2-2-3-expected4] type: Function lineno: 18 - nodeid: tests/test_utils_npy.py::test_nice_linspace[3-0-3-expected5] type: Function lineno: 18 - nodeid: tests/test_utils_npy.py::test_nice_linspace[0-1-0-expected6] type: Function lineno: 18 - nodeid: tests/test_utils_npy.py::test_nice_steps_centered[-2-2-2-True-expected0] type: Function lineno: 32 - nodeid: tests/test_utils_npy.py::test_nice_steps_centered[0-5-2-True-expected1] type: Function lineno: 32 - nodeid: tests/test_utils_npy.py::test_nice_steps_centered[0-5-2-False-expected2] type: Function lineno: 32 - nodeid: tests/test_utils_npy.py::test_nice_steps_centered[-1-2-1.5-True-expected3] type: Function lineno: 32 - nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[0-5-2-True-expected0] type: Function lineno: 42 - nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[0-5-2-False-expected1] type: Function lineno: 42 - nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-1-2-1.5-True-expected2] type: Function lineno: 42 - nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-1-2-1.5-False-expected3] type: Function lineno: 42 - nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[-2-1-1.2-True-expected4] type: Function lineno: 42 - nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[5-0--2-True-expected5] type: Function lineno: 42 - nodeid: tests/test_utils_npy.py::test_nice_steps_left_aligned[5-0--2-False-expected6] type: Function lineno: 42 - nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[0-5-2-True-expected0] type: Function lineno: 56 - nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[0-5-2-False-expected1] type: Function lineno: 56 - nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-1-2-1.5-True-expected2] type: Function lineno: 56 - nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-1-2-1.5-False-expected3] type: Function lineno: 56 - nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[5-0--2-True-expected4] type: Function lineno: 56 - nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[5-0--2-False-expected5] type: Function lineno: 56 - nodeid: tests/test_utils_npy.py::test_nice_steps_right_aligned[-3-3-2-True-expected6] type: Function lineno: 56 - nodeid: tests/test_utils_npy.py::test_within_scalar[5-0-10-True] type: Function lineno: 70 - nodeid: tests/test_utils_npy.py::test_within_scalar[5-6-10-False] type: Function lineno: 70 - nodeid: tests/test_utils_npy.py::test_within_scalar[5-None-10-True] type: Function lineno: 70 - nodeid: tests/test_utils_npy.py::test_within_scalar[5-0-None-True] type: Function lineno: 70 - nodeid: tests/test_utils_npy.py::test_within_scalar[5-None-None-True] type: Function lineno: 70 - nodeid: tests/test_utils_npy.py::test_within_fraction[data0-2-5-0.6] type: Function lineno: 81 - nodeid: tests/test_utils_npy.py::test_within_fraction[data1-5-25-0.6666666666666666] type: Function lineno: 81 - nodeid: tests/test_utils_npy.py::test_within_fraction[data2-None-2-0.3333333333333333] type: Function lineno: 81 - nodeid: tests/test_utils_npy.py::test_within_fraction[data3-0-1-0] type: Function lineno: 81 - nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.456-1-45.6] type: Function lineno: 92 - nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.12345-2-12.35] type: Function lineno: 92 - nodeid: tests/test_utils_npy.py::test_fraction_to_percentage[0.9999-0-100.0] type: Function lineno: 92 - nodeid: tests/test_utils_npy.py::test_get_dtype[val0-ndarray] type: Function lineno: 101 - nodeid: tests/test_utils_npy.py::test_get_dtype[val1-list] type: Function lineno: 101 - nodeid: tests/test_utils_npy.py::test_get_dtype[3.14-float] type: Function lineno: 101 - nodeid: tests/test_utils_npy.py::test_get_shape[val0-expected0] type: Function lineno: 114 - nodeid: tests/test_utils_npy.py::test_get_shape[val1-expected1] type: Function lineno: 114 - nodeid: tests/test_utils_npy.py::test_get_shape[42-expected2] type: Function lineno: 114 - nodeid: tests/test_utils_npy.py::test_is_array[val0-True] type: Function lineno: 123 - nodeid: tests/test_utils_npy.py::test_is_array[val1-False] type: Function lineno: 123 - nodeid: tests/test_utils_npy.py::test_is_array[42-False] type: Function lineno: 123 - Outcome:
-
✅ tests/test_utils_path.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_path.py::test_can_create_all_files_user_says_yes type: Function lineno: 10 - nodeid: tests/test_utils_path.py::test_can_create_all_files_user_says_no type: Function lineno: 36 - nodeid: tests/test_utils_path.py::test_make_missing_dir_creates_folder type: Function lineno: 54 - nodeid: tests/test_utils_path.py::test_glob_files_returns_matching_files_only type: Function lineno: 66 - nodeid: tests/test_utils_path.py::test_filter_files_excludes_directories type: Function lineno: 83 - Outcome:
-
✅ tests/test_utils_picklio.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj0] type: Function lineno: 6 - nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj1] type: Function lineno: 6 - nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[simple string] type: Function lineno: 6 - nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[42] type: Function lineno: 6 - nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[3.14159] type: Function lineno: 6 - nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj5] type: Function lineno: 6 - nodeid: tests/test_utils_picklio.py::test_pickle_and_unpickle[test_obj6] type: Function lineno: 6 - Outcome:
-
✅ tests/test_utils_printing.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq0-3] type: Function lineno: 8 - nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq1-0] type: Function lineno: 8 - nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq2-3] type: Function lineno: 8 - nodeid: tests/test_utils_printing.py::test_maxlen_valid[seq3-2] type: Function lineno: 8 - nodeid: tests/test_utils_printing.py::test_strlen[42-2] type: Function lineno: 17 - nodeid: tests/test_utils_printing.py::test_strlen[hello-5] type: Function lineno: 17 - nodeid: tests/test_utils_printing.py::test_strlen[False-5] type: Function lineno: 17 - nodeid: tests/test_utils_printing.py::test_strlen[None-4] type: Function lineno: 17 - nodeid: tests/test_utils_printing.py::test_strlen[value4-9] type: Function lineno: 17 - nodeid: tests/test_utils_printing.py::test_strlen[value5-8] type: Function lineno: 17 - nodeid: tests/test_utils_printing.py::test_strlen[value6-6] type: Function lineno: 17 - nodeid: tests/test_utils_printing.py::test_strlen[-0] type: Function lineno: 17 - nodeid: tests/test_utils_printing.py::test_strlen[this is a phrase-16] type: Function lineno: 17 - nodeid: tests/test_utils_printing.py::test_maxstrlen[seq0-6] type: Function lineno: 31 - nodeid: tests/test_utils_printing.py::test_maxstrlen[seq1-3] type: Function lineno: 31 - nodeid: tests/test_utils_printing.py::test_maxstrlen[seq2-9] type: Function lineno: 31 - nodeid: tests/test_utils_printing.py::test_maxstrlen[seq3-16] type: Function lineno: 31 - nodeid: tests/test_utils_printing.py::test_maxstrlen[seq4-5] type: Function lineno: 31 - nodeid: tests/test_utils_printing.py::test_transpose_matrix[data0-expected0] type: Function lineno: 41 - nodeid: tests/test_utils_printing.py::test_transpose_matrix[data1-expected1] type: Function lineno: 41 - nodeid: tests/test_utils_printing.py::test_transpose_matrix[data2-expected2] type: Function lineno: 41 - nodeid: tests/test_utils_printing.py::test_prepend[initial0-1-expected0] type: Function lineno: 50 - nodeid: tests/test_utils_printing.py::test_prepend[initial1-a-expected1] type: Function lineno: 50 - nodeid: tests/test_utils_printing.py::test_prepend[initial2-prepend2-expected2] type: Function lineno: 50 - nodeid: tests/test_utils_printing.py::test_prepend[initial3-prepend3-expected3] type: Function lineno: 50 - nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries0-widths0- a bbb] type: Function lineno: 61 - nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries1-widths1- 1 2] type: Function lineno: 61 - nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries2-widths2- long val] type: Function lineno: 61 - nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries3-widths3- True False] type: Function lineno: 61 - nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries4-widths4- 123 4567] type: Function lineno: 61 - nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries5-widths5- text with space end] type: Function lineno: 61 - nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries6-widths6- {'a': 1} {'b': 2}] type: Function lineno: 61 - nodeid: tests/test_utils_printing.py::test_fmt_table_line[entries7-widths7- [1, 2] [3, 4]] type: Function lineno: 61 - nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths0------ ----] type: Function lineno: 74 - nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths1-=-== ===] type: Function lineno: 74 - nodeid: tests/test_utils_printing.py::test_fmt_label_sep[widths2-*-***** **] type: Function lineno: 74 - nodeid: tests/test_utils_printing.py::test_printable_dict_with_header[d0-HeaderTest-expected_lines0] type: Function lineno: 82 - nodeid: tests/test_utils_printing.py::test_printable_dict_of_dicts type: Function lineno: 101 - nodeid: tests/test_utils_printing.py::test_printable_table[data0-labels0-A: ID\nB: \u2713 Success?\nC: SuperPrecisionValue\nD: Result Metadata\n\n# A B C D\n- ------------- ----- ---------- ----------------------------\n0 X1 True 0.1234 {'meta': 'ok'}\n1 AnotherSample False 98765.4321 {'meta': [1, 2, 3]}\n2 Z None 0.0 {'meta': {'nested_key': 42}}] type: Function lineno: 128 - Outcome:
-
✅ tests/test_utils_pv.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_pv.py::test_put_with_progress_and_repr[0.0- -\x1b[32m] type: Function lineno: 47 - nodeid: tests/test_utils_pv.py::test_put_with_progress_and_repr[25.0-\u2588\u2588\u258c -\x1b[32m] type: Function lineno: 47 - nodeid: tests/test_utils_pv.py::test_put_with_progress_and_repr[50.0-\u2588\u2588\u2588\u2588\u2588 -\x1b[32m] type: Function lineno: 47 - nodeid: tests/test_utils_pv.py::test_put_with_progress_and_repr[75.0-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c -\x1b[32m] type: Function lineno: 47 - nodeid: tests/test_utils_pv.py::test_put_with_progress_and_repr[100.0-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588-\x1b[32m] type: Function lineno: 47 - nodeid: tests/test_utils_pv.py::test_put_with_progress_and_repr[150.0->>>>>>>>>>-\x1b[31m] type: Function lineno: 47 - nodeid: tests/test_utils_pv.py::test_put_with_progress_and_repr[-50.0-<<<<<<<<<<-\x1b[31m] type: Function lineno: 47 - nodeid: tests/test_utils_pv.py::test_use_callback_context_manager type: Function lineno: 94 - Outcome:
-
✅ tests/test_utils_rangebar.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_rangebar.py::test_full_progress_bar type: Function lineno: 14 - nodeid: tests/test_utils_rangebar.py::test_half_progress_bar type: Function lineno: 27 - nodeid: tests/test_utils_rangebar.py::test_zero_progress_bar type: Function lineno: 42 - nodeid: tests/test_utils_rangebar.py::test_overflow_bar type: Function lineno: 56 - nodeid: tests/test_utils_rangebar.py::test_underflow_bar type: Function lineno: 69 - nodeid: tests/test_utils_rangebar.py::test_repr type: Function lineno: 82 - nodeid: tests/test_utils_rangebar.py::test_each_value_separately[0- ] type: Function lineno: 89 - nodeid: tests/test_utils_rangebar.py::test_each_value_separately[10-\u2588 ] type: Function lineno: 89 - nodeid: tests/test_utils_rangebar.py::test_each_value_separately[25-\u2588\u2588\u258c ] type: Function lineno: 89 - nodeid: tests/test_utils_rangebar.py::test_each_value_separately[27-\u2588\u2588\u258a ] type: Function lineno: 89 - nodeid: tests/test_utils_rangebar.py::test_each_value_separately[49-\u2588\u2588\u2588\u2588\u2589 ] type: Function lineno: 89 - nodeid: tests/test_utils_rangebar.py::test_each_value_separately[50-\u2588\u2588\u2588\u2588\u2588 ] type: Function lineno: 89 - nodeid: tests/test_utils_rangebar.py::test_each_value_separately[51-\u2588\u2588\u2588\u2588\u2588\u258f ] type: Function lineno: 89 - nodeid: tests/test_utils_rangebar.py::test_each_value_separately[73-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258e ] type: Function lineno: 89 - nodeid: tests/test_utils_rangebar.py::test_each_value_separately[75-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c ] type: Function lineno: 89 - nodeid: tests/test_utils_rangebar.py::test_each_value_separately[90-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 ] type: Function lineno: 89 - nodeid: tests/test_utils_rangebar.py::test_each_value_separately[100-\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588] type: Function lineno: 89 - Outcome:
-
✅ tests/test_utils_readable.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_readable.py::test_readable_seconds[59.4-59 seconds] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[59.9-60 seconds] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[119.9-120 seconds] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[120.1-2 minutes] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[3599.9-60 minutes] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[3600.1-60 minutes] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[7199.9-120 minutes] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[7200.1-2 hours] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[90.4-90 seconds] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[90.6-91 seconds] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[121.9-2 minutes] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[1296000.0-2 weeks] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[2592000.0-4 weeks] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[2800000.0-5 weeks] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[3888000.0-6 weeks] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[5097600.0-8 weeks] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[5184000.0-9 weeks] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[5270400.0-2 months] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[23328000.0-9 months] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[31104000.0-12 months] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[33696000.0-13 months] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[59616000.0-23 months] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[62208000.0-24 months] type: Function lineno: 3 - nodeid: tests/test_utils_readable.py::test_readable_seconds[64208000.0-2 years] type: Function lineno: 3 - Outcome:
-
✅ tests/test_utils_registry.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_registry.py::test_metaclass_creates_weakset type: Function lineno: 13 - nodeid: tests/test_utils_registry.py::test_metaclass_tracks_instances type: Function lineno: 22 - nodeid: tests/test_utils_registry.py::test_registry_inheritance type: Function lineno: 32 - nodeid: tests/test_utils_registry.py::test_instance_tracking type: Function lineno: 39 - nodeid: tests/test_utils_registry.py::test_collect_instances_recursive type: Function lineno: 53 - nodeid: tests/test_utils_registry.py::test_instances_function type: Function lineno: 69 - nodeid: tests/test_utils_registry.py::test_non_registry_class_error type: Function lineno: 93 - nodeid: tests/test_utils_registry.py::test_signature_preservation type: Function lineno: 102 - Outcome:
-
✅ tests/test_utils_richcfg.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_richcfg.py::test_rich_inspector_outputs_more_than_builtin type: Function lineno: 45 - Outcome:
-
✅ tests/test_utils_run_later.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_run_later.py::test_init_and_repr type: Function lineno: 17 - nodeid: tests/test_utils_run_later.py::test_call type: Function lineno: 22 - nodeid: tests/test_utils_run_later.py::test_matmul_with_string type: Function lineno: 27 - nodeid: tests/test_utils_run_later.py::test_matmul_with_list type: Function lineno: 32 - nodeid: tests/test_utils_run_later.py::test_matmul_with_single_int type: Function lineno: 37 - nodeid: tests/test_utils_run_later.py::test_run_at_future_triggered_and_logs type: Function lineno: 49 - nodeid: tests/test_utils_run_later.py::test_run_at_already_past type: Function lineno: 61 - nodeid: tests/test_utils_run_later.py::test_run_in_future_triggered_and_logs type: Function lineno: 72 - nodeid: tests/test_utils_run_later.py::test_run_in_past type: Function lineno: 83 - nodeid: tests/test_utils_run_later.py::test_run_later_with_seconds type: Function lineno: 95 - nodeid: tests/test_utils_run_later.py::test_run_later_with_past_datetime type: Function lineno: 105 - nodeid: tests/test_utils_run_later.py::test_run_at_tqdm_multiple_updates type: Function lineno: 115 - nodeid: tests/test_utils_run_later.py::test_today_basic type: Function lineno: 137 - nodeid: tests/test_utils_run_later.py::test_tomorrow_basic type: Function lineno: 143 - nodeid: tests/test_utils_run_later.py::test_yesterday_basic type: Function lineno: 149 - nodeid: tests/test_utils_run_later.py::test_today_matmul_string type: Function lineno: 155 - nodeid: tests/test_utils_run_later.py::test_tomorrow_matmul_list type: Function lineno: 161 - nodeid: tests/test_utils_run_later.py::test_yesterday_matmul_single type: Function lineno: 167 - Outcome:
-
✅ tests/test_utils_sendmail.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_sendmail.py::test_sendmail_real_local_verbose type: Function lineno: 70 - Outcome:
-
✅ tests/test_utils_shortcut.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_shortcut.py::TestShortcutInitialization type: Class - nodeid: tests/test_utils_shortcut.py::test_run_method type: Function lineno: 31 - nodeid: tests/test_utils_shortcut.py::test_repr_output type: Function lineno: 54 - nodeid: tests/test_utils_shortcut.py::test_source_with_regular_function type: Function lineno: 62 - nodeid: tests/test_utils_shortcut.py::test_source_error_handling type: Function lineno: 76 - nodeid: tests/test_utils_shortcut.py::test_as_shortcut_basic type: Function lineno: 86 - nodeid: tests/test_utils_shortcut.py::test_as_shortcut_with_name type: Function lineno: 96 - nodeid: tests/test_utils_shortcut.py::test_as_shortcut_factory_pattern type: Function lineno: 104 - nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton type: Class - nodeid: tests/test_utils_shortcut.py::TestFullIntegration type: Class - nodeid: tests/test_utils_shortcut.py::test_registry_inheritance type: Function lineno: 204 - Outcome:
-
✅ tests/test_utils_shortcut.py::TestFullIntegration
- Outcome:
passed - result:
- nodeid: tests/test_utils_shortcut.py::TestFullIntegration::test_workflow type: Function lineno: 170 - nodeid: tests/test_utils_shortcut.py::TestFullIntegration::test_multiple_shortcuts type: Function lineno: 190 - Outcome:
-
✅ tests/test_utils_shortcut.py::TestShortcutInitialization
- Outcome:
passed - result:
- nodeid: tests/test_utils_shortcut.py::TestShortcutInitialization::test_init_with_custom_name type: Function lineno: 16 - nodeid: tests/test_utils_shortcut.py::TestShortcutInitialization::test_init_without_name type: Function lineno: 23 - Outcome:
-
✅ tests/test_utils_shortcut.py::TestShortcutsSingleton
- Outcome:
passed - result:
- nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_singleton_behavior type: Function lineno: 121 - nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_registration type: Function lineno: 127 - nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_getitem_access type: Function lineno: 141 - nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_missing_key type: Function lineno: 149 - nodeid: tests/test_utils_shortcut.py::TestShortcutsSingleton::test_repr_output type: Function lineno: 154 - Outcome:
-
✅ tests/test_utils_snapshot.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_snapshot.py::test_snapshot[exclude_internals] type: Function lineno: 83 - nodeid: tests/test_utils_snapshot.py::test_snapshot[include_internals] type: Function lineno: 83 - nodeid: tests/test_utils_snapshot.py::test_snapshot[empty_case] type: Function lineno: 83 - nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_str] type: Function lineno: 83 - nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_id] type: Function lineno: 83 - nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_case_insensitive] type: Function lineno: 83 - nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_length] type: Function lineno: 83 - nodeid: tests/test_utils_snapshot.py::test_snapshot[sort_reverse] type: Function lineno: 83 - Outcome:
-
✅ tests/test_utils_termtitle.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_termtitle.py::test_terminal_title_with_tmux type: Function lineno: 9 - Outcome:
-
✅ tests/test_utils_tqdm_mod.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_tqdm_mod.py::test_complete_progress_bar type: Function lineno: 25 - nodeid: tests/test_utils_tqdm_mod.py::test_set_progress_multiple_points type: Function lineno: 42 - nodeid: tests/test_utils_tqdm_mod.py::test_format_sizeof_alignment type: Function lineno: 65 - nodeid: tests/test_utils_tqdm_mod.py::test_float_alignment_in_bar type: Function lineno: 83 - nodeid: tests/test_utils_tqdm_mod.py::test_custom_unit type: Function lineno: 132 - nodeid: tests/test_utils_tqdm_mod.py::test_clamp_above_total type: Function lineno: 146 - nodeid: tests/test_utils_tqdm_mod.py::test_clamp_below_zero type: Function lineno: 163 - Outcome:
-
✅ tests/test_utils_trinary.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_trinary.py::test_check_trinary_valid_values type: Function lineno: 6 - nodeid: tests/test_utils_trinary.py::test_check_trinary_invalid_value type: Function lineno: 14 - nodeid: tests/test_utils_trinary.py::test_check_trinary_with_custom_allowed_values type: Function lineno: 22 - Outcome:
-
✅ tests/test_utils_typecast.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_typecast.py::test_downcast_success type: Function lineno: 24 - nodeid: tests/test_utils_typecast.py::test_upcast_success type: Function lineno: 30 - nodeid: tests/test_utils_typecast.py::test_downcast_invalid type: Function lineno: 41 - nodeid: tests/test_utils_typecast.py::test_upcast_invalid type: Function lineno: 48 - nodeid: tests/test_utils_typecast.py::test_object_identity_preserved type: Function lineno: 53 - nodeid: tests/test_utils_typecast.py::test_ensure_subclass_valid type: Function lineno: 64 - nodeid: tests/test_utils_typecast.py::test_ensure_subclass_invalid type: Function lineno: 67 - nodeid: tests/test_utils_typecast.py::test_cast_changes_class type: Function lineno: 79 - nodeid: tests/test_utils_typecast.py::test_cast_preserves_identity type: Function lineno: 86 - Outcome:
-
✅ tests/test_utils_utils.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_utils.py::test_singleton_instance type: Function lineno: 17 - nodeid: tests/test_utils_utils.py::test_singleton_identity type: Function lineno: 25 - nodeid: tests/test_utils_utils.py::test_typename[None-NoneType] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[True-bool] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[42-int] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[3.14-float] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[text-str] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[obj5-set] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[obj6-list] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[obj7-list] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[obj8-dict] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[<lambda>-function] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[sample_function-function] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[nested-function] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[len-builtin_function_or_method] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[sum-builtin_function_or_method] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[math-module] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[sys-module] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[function-type] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[<genexpr>-generator] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_typename[obj18-list_iterator] type: Function lineno: 44 - nodeid: tests/test_utils_utils.py::test_next_int[nums0-4] type: Function lineno: 77 - nodeid: tests/test_utils_utils.py::test_next_int[nums1-21] type: Function lineno: 77 - nodeid: tests/test_utils_utils.py::test_next_int[nums2-0] type: Function lineno: 77 - nodeid: tests/test_utils_utils.py::test_zero_pad[7-3-007] type: Function lineno: 87 - nodeid: tests/test_utils_utils.py::test_zero_pad[123-5-00123] type: Function lineno: 87 - nodeid: tests/test_utils_utils.py::test_zero_pad[0-2-00] type: Function lineno: 87 - nodeid: tests/test_utils_utils.py::test_iround[3.6-4] type: Function lineno: 97 - nodeid: tests/test_utils_utils.py::test_iround[2.1-2] type: Function lineno: 97 - nodeid: tests/test_utils_utils.py::test_iround[-1.5--2] type: Function lineno: 97 - nodeid: tests/test_utils_utils.py::test_iround[-1.4--1] type: Function lineno: 97 - nodeid: tests/test_utils_utils.py::test_sorted_naturally[items0-expected0] type: Function lineno: 108 - nodeid: tests/test_utils_utils.py::test_sorted_naturally[items1-expected1] type: Function lineno: 108 - nodeid: tests/test_utils_utils.py::test_sorted_naturally_reverse[items0-expected0] type: Function lineno: 115 - Outcome:
-
✅ tests/test_utils_xrange.py
- Outcome:
passed - result:
- nodeid: tests/test_utils_xrange.py::test_xrange_finite[args0-kwargs0-expected0] type: Function lineno: 11 - nodeid: tests/test_utils_xrange.py::test_xrange_finite[args1-kwargs1-expected1] type: Function lineno: 11 - nodeid: tests/test_utils_xrange.py::test_xrange_finite[args2-kwargs2-expected2] type: Function lineno: 11 - nodeid: tests/test_utils_xrange.py::test_xrange_finite[args3-kwargs3-expected3] type: Function lineno: 11 - nodeid: tests/test_utils_xrange.py::test_xrange_infinite[args0-kwargs0-count(0)] type: Function lineno: 20 - nodeid: tests/test_utils_xrange.py::test_xrange_infinite[args1-kwargs1-count(0, 2)] type: Function lineno: 20 - nodeid: tests/test_utils_xrange.py::test_xrange_too_many_args[args0] type: Function lineno: 31 - Outcome:
- Outcome:
✅ . (1 tests)
-
✅ .
- Outcome:
passed - result:
- nodeid: ci-reports type: Dir - nodeid: elog-2.7.1 type: Dir - nodeid: elog_instance type: Dir - nodeid: morbidissimo type: Dir - nodeid: mxml type: Dir - nodeid: outputs type: Dir - nodeid: slic type: Package - nodeid: temp-ci type: Dir - nodeid: tests type: Dir - Outcome:
⚠️ Warnings
Warnings nº1
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
Warnings nº2
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
Warnings nº3
message: Deprecated call to `pkg_resources.declare_namespace('mpl_toolkits')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
category: DeprecationWarning
when: collect
filename: /workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pkg_resources/__init__.py
lineno: 3154
Warnings nº4
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