Table of Contents
Test Report
View CI Run 1247 | Commit 03a4209 ✅ Pytest completed successfully
All tests were collected and executed properly. See the details below.
📋 Short test summary info
=========================== short test summary info ============================
FAILED tests/test_utils_debug.py::test_short_repr[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaa...] - assert "'aaaaaaaaa..." == "'aaaaaaaaaa..."
- 'aaaaaaaaaa...
? -
+ 'aaaaaaaaa...
FAILED tests/test_utils_debug.py::test_short_repr[value5-20-Obj(xxxxxxxxxxxxxxxxx...] - AssertionError: assert 'Obj(xxxxxxxxxxxxxxxx...' == 'Obj(xxxxxxxxxxxxxxxxx...'
- Obj(xxxxxxxxxxxxxxxxx...
? -
+ Obj(xxxxxxxxxxxxxxxx...
FAILED tests/test_utils_lazypv.py::test_getattr - AssertionError: Expected dict because form='time'
assert False
+ where False = isinstance(None, dict)
================== 3 failed, 109 passed, 4 warnings in 8.35s ===================
🪵 Full raw pytest log
============================= test session starts ==============================
platform linux -- Python 3.8.20, pytest-8.3.4, pluggy-1.5.0
rootdir: /workspace/tligui_y/slic
plugins: html-4.1.1, cov-5.0.0, metadata-3.1.1, allure-pytest-2.13.5, json-report-1.5.0
]0;⊚slic[W 250725 15:31:46 pvpreload:38] PV preload file not loaded due to: FileNotFoundError: [Errno 2] No such file or directory: '/root/.slic/pvpreload'
collected 112 items
tests/test_utils_ask_yes_no.py .............
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
tests/test_utils_channels.py .
tests/test_utils_cpint.py ........................
tests/test_utils_debug.py ......F...F
tests/test_utils_dictext.py .................
tests/test_utils_dotdir.py ...
tests/test_utils_jsonext.py ........
tests/test_utils_lazypv.py F
tests/test_utils_picklio.py .......
=================================== FAILURES ===================================
_ test_short_repr[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-10-'aaaaaaaaaa...] _
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
_____________ test_short_repr[value5-20-Obj(xxxxxxxxxxxxxxxxx...] ______________
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
_________________________________ test_getattr _________________________________
def test_getattr():
# Only valid kwargs accepted by epics.PV
pv = PV(
"ca://TEST:FLOAT",
form='time',
auto_monitor=True,
verbose=True,
connection_timeout=3.0
)
# Pv not yet instantiated
assert pv._pv is None
# Trigger instantiation by accessing a real attribute
pvname = pv.__getattr__('pvname')
assert isinstance(pvname, str)
assert pvname == "ca://TEST:FLOAT"
assert pv._pv is not None
# access all known epics.PV kwargs via __getattr__
form = pv.__getattr__('form')
assert form == 'time'
auto_monitor = pv.__getattr__('auto_monitor')
assert auto_monitor is True
verbose = pv.__getattr__('verbose')
assert verbose is True
timeout = pv.__getattr__('connection_timeout')
assert isinstance(timeout, (float, int))
assert timeout == 3.0
# Have the get() method from (__getattr__) to get all the parameters in a dict
get_method = pv.__getattr__('get')
assert callable(get_method) # Check if it's really a function
result = get_method()
> assert isinstance(result, dict), "Expected dict because form='time'"
E AssertionError: Expected dict because form='time'
E assert False
E + where False = isinstance(None, dict)
tests/test_utils_lazypv.py:53: AssertionError
=============================== warnings summary ===============================
.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py:207
/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/bsread/h5.py:207: DeprecationWarning: invalid escape sequence \-
if not re.match('^tcp://[a-zA-Z.\-0-9]+:[0-9]+$', address):
.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/ca.py:28
/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pyepics-3.4.3-py3.9.egg/epics/ca.py:28: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
.pixi/envs/default/lib/python3.8/site-packages/pkg_resources/__init__.py:3154
/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/pkg_resources/__init__.py:3154: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('mpl_toolkits')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
declare_namespace(pkg)
.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py:97
/workspace/tligui_y/slic/.pixi/envs/default/lib/python3.8/site-packages/scipy/fft/__init__.py:97: DeprecationWarning: The module numpy.dual is deprecated. Instead of using dual, use the functions directly from numpy or scipy.
from numpy.dual import register_func
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
🧪 Test Report
Generated on 2025-07-25 17:31:52 CEST
🧾 General Info
- duration: 8.352021932601929
- root: /workspace/tligui_y/slic
- environment: {}
📋 Summary
- Passed: 109
- Failed: 3
- Total: 112
- Collected: 112
🔎 Tests
✅ Passed (109)
-
📄 test_utils_ask_yes_no.py
↳ Function: test_ask_yes_no
-
✅ Test 1
📌 Setup phase
duration:
0.0007808988448232412outcome:
passed📌 Call phase
duration:
0.000838153064250946outcome:
passed📌 Teardown phase
duration:
0.0003140810877084732outcome:
passed -
✅ Test 2
📌 Setup phase
duration:
0.0003577880561351776outcome:
passed📌 Call phase
duration:
0.0007683350704610348outcome:
passed📌 Teardown phase
duration:
0.00019521103240549564outcome:
passed -
✅ Test 3
📌 Setup phase
duration:
0.0003457288257777691outcome:
passed📌 Call phase
duration:
0.0005158309359103441outcome:
passed📌 Teardown phase
duration:
0.00019384012557566166outcome:
passed -
✅ Test 4
📌 Setup phase
duration:
0.0003184298984706402outcome:
passed📌 Call phase
duration:
0.0005268370732665062outcome:
passed📌 Teardown phase
duration:
0.00018151220865547657outcome:
passed -
✅ Test 5
📌 Setup phase
duration:
0.00031859404407441616outcome:
passed📌 Call phase
duration:
0.000536325154826045outcome:
passed📌 Teardown phase
duration:
0.00018158601596951485outcome:
passed -
✅ Test 6
📌 Setup phase
duration:
0.0003314411733299494outcome:
passed📌 Call phase
duration:
0.0009027239866554737outcome:
passed📌 Teardown phase
duration:
0.00019229203462600708outcome:
passed -
✅ Test 7
📌 Setup phase
duration:
0.00033150194212794304outcome:
passed📌 Call phase
duration:
0.0005449389573186636outcome:
passed📌 Teardown phase
duration:
0.00018805288709700108outcome:
passed -
✅ Test 8
📌 Setup phase
duration:
0.0003386021126061678outcome:
passed📌 Call phase
duration:
0.0004947329871356487outcome:
passed📌 Teardown phase
duration:
0.00020993896760046482outcome:
passed -
✅ Test 9
📌 Setup phase
duration:
0.0003229980356991291outcome:
passed📌 Call phase
duration:
0.0005124351009726524outcome:
passed📌 Teardown phase
duration:
0.00018377299420535564outcome:
passed -
✅ Test 10
📌 Setup phase
duration:
0.0003206981346011162outcome:
passed📌 Call phase
duration:
0.0006212671287357807outcome:
passed📌 Teardown phase
duration:
0.0001926629338413477outcome:
passed -
✅ Test 11
📌 Setup phase
duration:
0.0003386600874364376outcome:
passed📌 Call phase
duration:
0.0005004408303648233outcome:
passed📌 Teardown phase
duration:
0.00019270996563136578outcome:
passed -
✅ Test 12
📌 Setup phase
duration:
0.00031879497691988945outcome:
passed📌 Call phase
duration:
0.0005002690013498068outcome:
passed📌 Teardown phase
duration:
0.0001881420612335205outcome:
passed -
✅ Test 13
📌 Setup phase
duration:
0.0003169721458107233outcome:
passed📌 Call phase
duration:
0.0005124080926179886outcome:
passed📌 Teardown phase
duration:
0.00018740189261734486outcome:
passed
↳ Function: test_ask_yes_no_ctrl_c
-
✅ Test 14
📌 Setup phase
duration:
0.0004636819940060377outcome:
passed📌 Call phase
duration:
0.0005200370214879513outcome:
passed📌 Teardown phase
duration:
0.00020627910271286964outcome:
passed -
✅ Test 15
📌 Setup phase
duration:
0.00035727093927562237outcome:
passed📌 Call phase
duration:
0.0005017300136387348outcome:
passed📌 Teardown phase
duration:
0.0001827990636229515outcome:
passed -
✅ Test 16
📌 Setup phase
duration:
0.0003196729812771082outcome:
passed📌 Call phase
duration:
0.0005170921795070171outcome:
passed📌 Teardown phase
duration:
0.0001865830272436142outcome:
passed -
✅ Test 17
📌 Setup phase
duration:
0.0003158778417855501outcome:
passed📌 Call phase
duration:
0.0006344360299408436outcome:
passed📌 Teardown phase
duration:
0.00018837512470781803outcome:
passed -
✅ Test 18
📌 Setup phase
duration:
0.00033033802174031734outcome:
passed📌 Call phase
duration:
0.0004948521964251995outcome:
passed📌 Teardown phase
duration:
0.00018043490126729012outcome:
passed -
✅ Test 19
📌 Setup phase
duration:
0.0003183980006724596outcome:
passed📌 Call phase
duration:
0.0005307348910719156outcome:
passed📌 Teardown phase
duration:
0.00019877194426953793outcome:
passed -
✅ Test 20
📌 Setup phase
duration:
0.00031607598066329956outcome:
passed📌 Call phase
duration:
0.0005533010698854923outcome:
passed📌 Teardown phase
duration:
0.0001884070225059986outcome:
passed -
✅ Test 21
📌 Setup phase
duration:
0.0003194180317223072outcome:
passed📌 Call phase
duration:
0.000694880960509181outcome:
passed📌 Teardown phase
duration:
0.00018298299983143806outcome:
passed -
✅ Test 22
📌 Setup phase
duration:
0.00032890005968511105outcome:
passed📌 Call phase
duration:
0.000532940961420536outcome:
passed📌 Teardown phase
duration:
0.0001817219890654087outcome:
passed -
✅ Test 23
📌 Setup phase
duration:
0.00033348891884088516outcome:
passed📌 Call phase
duration:
0.0005372529849410057outcome:
passed📌 Teardown phase
duration:
0.000198843190446496outcome:
passed
↳ Function: test_ask_yes_no_ctrl_d
-
✅ Test 24
📌 Setup phase
duration:
0.0003224459942430258outcome:
passed📌 Call phase
duration:
0.0006320429965853691outcome:
passed📌 Teardown phase
duration:
0.00019092601723968983outcome:
passed -
✅ Test 25
📌 Setup phase
duration:
0.00032084807753562927outcome:
passed📌 Call phase
duration:
0.0005118381232023239outcome:
passed📌 Teardown phase
duration:
0.00018973485566675663outcome:
passed -
✅ Test 26
📌 Setup phase
duration:
0.0003474131226539612outcome:
passed📌 Call phase
duration:
0.00050517194904387outcome:
passed📌 Teardown phase
duration:
0.00018812716007232666outcome:
passed -
✅ Test 27
📌 Setup phase
duration:
0.00031578587368130684outcome:
passed📌 Call phase
duration:
0.0005051090847700834outcome:
passed📌 Teardown phase
duration:
0.00020520901307463646outcome:
passed -
✅ Test 28
📌 Setup phase
duration:
0.0003225239925086498outcome:
passed📌 Call phase
duration:
0.0006211490835994482outcome:
passed📌 Teardown phase
duration:
0.00018608104437589645outcome:
passed -
✅ Test 29
📌 Setup phase
duration:
0.00031838403083384037outcome:
passed📌 Call phase
duration:
0.0005277020391076803outcome:
passed📌 Teardown phase
duration:
0.00017832894809544086outcome:
passed -
✅ Test 30
📌 Setup phase
duration:
0.00032953405752778053outcome:
passed📌 Call phase
duration:
0.0005152029916644096outcome:
passed📌 Teardown phase
duration:
0.00020930683240294456outcome:
passed -
✅ Test 31
📌 Setup phase
duration:
0.00031692488119006157outcome:
passed📌 Call phase
duration:
0.000515270046889782outcome:
passed📌 Teardown phase
duration:
0.0001815680880099535outcome:
passed -
✅ Test 32
📌 Setup phase
duration:
0.000321241095662117outcome:
passed📌 Call phase
duration:
0.0006173010915517807outcome:
passed📌 Teardown phase
duration:
0.00017926795408129692outcome:
passed -
✅ Test 33
📌 Setup phase
duration:
0.0003357850946485996outcome:
passed📌 Call phase
duration:
0.0005476011428982019outcome:
passed📌 Teardown phase
duration:
0.0001801447942852974outcome:
passed -
✅ Test 34
📌 Setup phase
duration:
0.0003158850595355034outcome:
passed📌 Call phase
duration:
0.0004934829194098711outcome:
passed📌 Teardown phase
duration:
0.0002011689357459545outcome:
passed -
✅ Test 35
📌 Setup phase
duration:
0.00031813886016607285outcome:
passed📌 Call phase
duration:
0.000662381062284112outcome:
passed📌 Teardown phase
duration:
0.00019221496768295765outcome:
passed -
✅ Test 36
📌 Setup phase
duration:
0.00032141408883035183outcome:
passed📌 Call phase
duration:
0.0005523308645933867outcome:
passed📌 Teardown phase
duration:
0.00018226401880383492outcome:
passed -
✅ Test 37
📌 Setup phase
duration:
0.0003307319711893797outcome:
passed📌 Call phase
duration:
0.0005234719719737768outcome:
passed📌 Teardown phase
duration:
0.00017983606085181236outcome:
passed
↳ Function: test_ask_yes_no_mixed_sequences
-
✅ Test 38
📌 Setup phase
duration:
0.00036084698513150215outcome:
passed📌 Call phase
duration:
0.0005654790438711643outcome:
passed📌 Teardown phase
duration:
0.00021450291387736797outcome:
passed -
✅ Test 39
📌 Setup phase
duration:
0.00047588814049959183outcome:
passed📌 Call phase
duration:
0.0005634860135614872outcome:
passed📌 Teardown phase
duration:
0.0002226540818810463outcome:
passed -
✅ Test 40
📌 Setup phase
duration:
0.00035763299092650414outcome:
passed📌 Call phase
duration:
0.0005740101914852858outcome:
passed📌 Teardown phase
duration:
0.00020508794113993645outcome:
passed
-
-
📄 test_utils_channels.py
↳ Function: test_load_channels_and_channels_class_with_professional_names
-
✅ Test 41
📌 Setup phase
duration:
0.000122518977150321outcome:
passed📌 Call phase
duration:
0.0010658688843250275outcome:
passed📌 Teardown phase
duration:
0.00012446288019418716outcome:
passed
-
-
📄 test_utils_cpint.py
↳ Function: test_load_color_variants_all_keys_and_types
-
✅ Test 42
📌 Setup phase
duration:
0.00020797201432287693outcome:
passed📌 Call phase
duration:
0.000176700996235013outcome:
passed📌 Teardown phase
duration:
0.00013844994828104973outcome:
passed -
✅ Test 43
📌 Setup phase
duration:
0.0001832679845392704outcome:
passed📌 Call phase
duration:
0.00016857916489243507outcome:
passed📌 Teardown phase
duration:
0.00012319395318627357outcome:
passed -
✅ Test 44
📌 Setup phase
duration:
0.00018063001334667206outcome:
passed📌 Call phase
duration:
0.00016056792810559273outcome:
passed📌 Teardown phase
duration:
0.00012312084436416626outcome:
passed -
✅ Test 45
📌 Setup phase
duration:
0.0001691938377916813outcome:
passed📌 Call phase
duration:
0.00016325293108820915outcome:
passed📌 Teardown phase
duration:
0.00012480001896619797outcome:
passed -
✅ Test 46
📌 Setup phase
duration:
0.0001682317815721035outcome:
passed📌 Call phase
duration:
0.00014693895354866982outcome:
passed📌 Teardown phase
duration:
0.0001202200073748827outcome:
passed -
✅ Test 47
📌 Setup phase
duration:
0.00017291586846113205outcome:
passed📌 Call phase
duration:
0.00015026121400296688outcome:
passed📌 Teardown phase
duration:
0.00012156879529356956outcome:
passed -
✅ Test 48
📌 Setup phase
duration:
0.00016978499479591846outcome:
passed📌 Call phase
duration:
0.00014644511975347996outcome:
passed📌 Teardown phase
duration:
0.00012410501949489117outcome:
passed -
✅ Test 49
📌 Setup phase
duration:
0.00017304113134741783outcome:
passed📌 Call phase
duration:
0.00014914409257471561outcome:
passed📌 Teardown phase
duration:
0.00011870800517499447outcome:
passed
↳ Function: test_cprint_all_cases_fancy
-
✅ Test 50
📌 Setup phase
duration:
0.0008733430877327919outcome:
passed📌 Call phase
duration:
0.0002872168552130461outcome:
passed📌 Teardown phase
duration:
0.00026860693469643593outcome:
passed -
✅ Test 51
📌 Setup phase
duration:
0.00048637203872203827outcome:
passed📌 Call phase
duration:
0.00022918405011296272outcome:
passed📌 Teardown phase
duration:
0.00027913390658795834outcome:
passed -
✅ Test 52
📌 Setup phase
duration:
0.0004747950006276369outcome:
passed📌 Call phase
duration:
0.00021781702525913715outcome:
passed📌 Teardown phase
duration:
0.00024065491743385792outcome:
passed -
✅ Test 53
📌 Setup phase
duration:
0.0004597629886120558outcome:
passed📌 Call phase
duration:
0.0002162668388336897outcome:
passed📌 Teardown phase
duration:
0.00025139586068689823outcome:
passed -
✅ Test 54
📌 Setup phase
duration:
0.0004725309554487467outcome:
passed📌 Call phase
duration:
0.0002186137717217207outcome:
passed📌 Teardown phase
duration:
0.0002590368967503309outcome:
passed -
✅ Test 55
📌 Setup phase
duration:
0.00045380881056189537outcome:
passed📌 Call phase
duration:
0.00023680692538619041outcome:
passed📌 Teardown phase
duration:
0.00024717114865779877outcome:
passed -
✅ Test 56
📌 Setup phase
duration:
0.0004665812011808157outcome:
passed📌 Call phase
duration:
0.00022869091480970383outcome:
passed📌 Teardown phase
duration:
0.00026401388458907604outcome:
passed -
✅ Test 57
📌 Setup phase
duration:
0.00043935980647802353outcome:
passed📌 Call phase
duration:
0.00021433597430586815outcome:
passed📌 Teardown phase
duration:
0.00024286191910505295outcome:
passed -
✅ Test 58
📌 Setup phase
duration:
0.0004544439725577831outcome:
passed📌 Call phase
duration:
0.00021852296777069569outcome:
passed📌 Teardown phase
duration:
0.00028851302340626717outcome:
passed -
✅ Test 59
📌 Setup phase
duration:
0.0005384040996432304outcome:
passed📌 Call phase
duration:
0.0002315209712833166outcome:
passed📌 Teardown phase
duration:
0.0002875479403883219outcome:
passed -
✅ Test 60
📌 Setup phase
duration:
0.0005064751021564007outcome:
passed📌 Call phase
duration:
0.00023241480812430382outcome:
passed📌 Teardown phase
duration:
0.0002742100041359663outcome:
passed -
✅ Test 61
📌 Setup phase
duration:
0.00044569000601768494outcome:
passed📌 Call phase
duration:
0.00021699699573218822outcome:
passed📌 Teardown phase
duration:
0.0002400558441877365outcome:
passed -
✅ Test 62
📌 Setup phase
duration:
0.0004783750046044588outcome:
passed📌 Call phase
duration:
0.0005284100770950317outcome:
passed📌 Teardown phase
duration:
0.0002633281983435154outcome:
passed -
✅ Test 63
📌 Setup phase
duration:
0.00047183805145323277outcome:
passed📌 Call phase
duration:
0.0002421000972390175outcome:
passed📌 Teardown phase
duration:
0.00023975293152034283outcome:
passed -
✅ Test 64
📌 Setup phase
duration:
0.00045018107630312443outcome:
passed📌 Call phase
duration:
0.0002511688508093357outcome:
passed📌 Teardown phase
duration:
0.00024168286472558975outcome:
passed -
✅ Test 65
📌 Setup phase
duration:
0.00045896810479462147outcome:
passed📌 Call phase
duration:
0.00022154301404953003outcome:
passed📌 Teardown phase
duration:
0.0002589800860732794outcome:
passed
-
-
📄 test_utils_debug.py
↳ Function: test_traceable
-
✅ Test 66
📌 Setup phase
duration:
0.00028572906740009785outcome:
passed📌 Call phase
duration:
0.0011186599731445312outcome:
passed📌 Teardown phase
duration:
0.0001795708667486906outcome:
passed -
✅ Test 67
📌 Setup phase
duration:
0.00028986786492168903outcome:
passed📌 Call phase
duration:
0.0008765491656959057outcome:
passed📌 Teardown phase
duration:
0.0001757980789989233outcome:
passed -
✅ Test 68
📌 Setup phase
duration:
0.0002911218907684088outcome:
passed📌 Call phase
duration:
0.0013175499625504017outcome:
passed📌 Teardown phase
duration:
0.0001808579545468092outcome:
passed -
✅ Test 69
📌 Setup phase
duration:
0.00028055207803845406outcome:
passed📌 Call phase
duration:
0.0007820490282028913outcome:
passed📌 Teardown phase
duration:
0.00017598015256226063outcome:
passed -
✅ Test 70
📌 Setup phase
duration:
0.0002859488595277071outcome:
passed📌 Call phase
duration:
0.0008751649875193834outcome:
passed📌 Teardown phase
duration:
0.00017879786901175976outcome:
passed
↳ Function: test_short_repr
-
✅ Test 71
📌 Setup phase
duration:
0.000277847982943058outcome:
passed📌 Call phase
duration:
0.0001456211321055889outcome:
passed📌 Teardown phase
duration:
0.00015446194447577outcome:
passed -
✅ Test 73
📌 Setup phase
duration:
0.00048694596625864506outcome:
passed📌 Call phase
duration:
0.00019205990247428417outcome:
passed📌 Teardown phase
duration:
0.00017216987907886505outcome:
passed -
✅ Test 74
📌 Setup phase
duration:
0.00029737106524407864outcome:
passed📌 Call phase
duration:
0.00015299697406589985outcome:
passed📌 Teardown phase
duration:
0.00015510804951190948outcome:
passed -
✅ Test 75
📌 Setup phase
duration:
0.0002805569674819708outcome:
passed📌 Call phase
duration:
0.00013522105291485786outcome:
passed📌 Teardown phase
duration:
0.00015835394151508808outcome:
passed
-
-
📄 test_utils_dictext.py
↳ Function: test_attrdict_getattr
-
✅ Test 77
📌 Setup phase
duration:
0.00032145692966878414outcome:
passed📌 Call phase
duration:
0.0001966820564121008outcome:
passed📌 Teardown phase
duration:
0.0001618328969925642outcome:
passed -
✅ Test 78
📌 Setup phase
duration:
0.0002917568199336529outcome:
passed📌 Call phase
duration:
0.00014397199265658855outcome:
passed📌 Teardown phase
duration:
0.00015183701179921627outcome:
passed -
✅ Test 79
📌 Setup phase
duration:
0.0002741529606282711outcome:
passed📌 Call phase
duration:
0.0001346489880234003outcome:
passed📌 Teardown phase
duration:
0.00015925406478345394outcome:
passed
↳ Function: test_attrdict_setattr
-
✅ Test 80
📌 Setup phase
duration:
0.00026950007304549217outcome:
passed📌 Call phase
duration:
0.00014220480807125568outcome:
passed📌 Teardown phase
duration:
0.00016594212502241135outcome:
passed -
✅ Test 81
📌 Setup phase
duration:
0.0002627330832183361outcome:
passed📌 Call phase
duration:
0.00013986602425575256outcome:
passed📌 Teardown phase
duration:
0.0001472120638936758outcome:
passed
↳ Function: test_attrdict_delattr
-
✅ Test 82
📌 Setup phase
duration:
0.0002615470439195633outcome:
passed📌 Call phase
duration:
0.00019934587180614471outcome:
passed📌 Teardown phase
duration:
0.00015789596363902092outcome:
passed -
✅ Test 83
📌 Setup phase
duration:
0.00026120315305888653outcome:
passed📌 Call phase
duration:
0.0001787859946489334outcome:
passed📌 Teardown phase
duration:
0.00015515601262450218outcome:
passed
↳ Function: test_attrdict_dir
-
✅ Test 84
📌 Setup phase
duration:
0.0002320010680705309outcome:
passed📌 Call phase
duration:
0.00014004693366587162outcome:
passed📌 Teardown phase
duration:
0.00013875006698071957outcome:
passed -
✅ Test 85
📌 Setup phase
duration:
0.0002403021790087223outcome:
passed📌 Call phase
duration:
0.0001626329030841589outcome:
passed📌 Teardown phase
duration:
0.00013436190783977509outcome:
passed
↳ Function: test_attrdict_getattr_and_missing
-
✅ Test 86
📌 Setup phase
duration:
0.0003108801320195198outcome:
passed📌 Call phase
duration:
0.00013866694644093513outcome:
passed📌 Teardown phase
duration:
0.0001786169596016407outcome:
passed -
✅ Test 87
📌 Setup phase
duration:
0.00030319299548864365outcome:
passed📌 Call phase
duration:
0.0001680511049926281outcome:
passed📌 Teardown phase
duration:
0.0001718420535326004outcome:
passed
↳ Function: test_dictupdatemixin_init_and_update
-
✅ Test 88
📌 Setup phase
duration:
0.0003025890327990055outcome:
passed📌 Call phase
duration:
0.00015673693269491196outcome:
passed📌 Teardown phase
duration:
0.00016800477169454098outcome:
passed -
✅ Test 89
📌 Setup phase
duration:
0.0003201458603143692outcome:
passed📌 Call phase
duration:
0.00015547708608210087outcome:
passed📌 Teardown phase
duration:
0.0001647451426833868outcome:
passed -
✅ Test 90
📌 Setup phase
duration:
0.0003123700153082609outcome:
passed📌 Call phase
duration:
0.00014519994147121906outcome:
passed📌 Teardown phase
duration:
0.00017501716502010822outcome:
passed -
✅ Test 91
📌 Setup phase
duration:
0.000296891201287508outcome:
passed📌 Call phase
duration:
0.00014554010704159737outcome:
passed📌 Teardown phase
duration:
0.00016843387857079506outcome:
passed -
✅ Test 92
📌 Setup phase
duration:
0.0002948360051959753outcome:
passed📌 Call phase
duration:
0.00015202793292701244outcome:
passed📌 Teardown phase
duration:
0.0001714741811156273outcome:
passed -
✅ Test 93
📌 Setup phase
duration:
0.00031134020537137985outcome:
passed📌 Call phase
duration:
0.00029362598434090614outcome:
passed📌 Teardown phase
duration:
0.00017827213741838932outcome:
passed
-
-
📄 test_utils_dotdir.py
↳ Function: test_dotdir_creation_and_base_exists
-
✅ Test 94
📌 Setup phase
duration:
0.0016362378373742104outcome:
passed📌 Call phase
duration:
0.0002699289470911026outcome:
passed📌 Teardown phase
duration:
0.0002251989208161831outcome:
passed
↳ Function: test_dotdir_repr_returns_path_str
-
✅ Test 95
📌 Setup phase
duration:
0.0006200831849128008outcome:
passed📌 Call phase
duration:
0.00025275605730712414outcome:
passed📌 Teardown phase
duration:
0.0002054409123957157outcome:
passed
↳ Function: test_dotdir_call
-
✅ Test 96
📌 Setup phase
duration:
0.0006581798661500216outcome:
passed📌 Call phase
duration:
0.000231890007853508outcome:
passed📌 Teardown phase
duration:
0.0002106300089508295outcome:
passed
-
-
📄 test_utils_jsonext.py
↳ Function: test_json_validate_save_load
-
✅ Test 97
📌 Setup phase
duration:
0.0005975179374217987outcome:
passed📌 Call phase
duration:
0.0004754778929054737outcome:
passed📌 Teardown phase
duration:
0.00019349087961018085outcome:
passed -
✅ Test 98
📌 Setup phase
duration:
0.0006207290571182966outcome:
passed📌 Call phase
duration:
0.0003873209934681654outcome:
passed📌 Teardown phase
duration:
0.0001794649288058281outcome:
passed -
✅ Test 99
📌 Setup phase
duration:
0.0005956529639661312outcome:
passed📌 Call phase
duration:
0.00040145800448954105outcome:
passed📌 Teardown phase
duration:
0.00018125888891518116outcome:
passed -
✅ Test 100
📌 Setup phase
duration:
0.0005905369762331247outcome:
passed📌 Call phase
duration:
0.0003704279661178589outcome:
passed📌 Teardown phase
duration:
0.00022319983690977097outcome:
passed -
✅ Test 101
📌 Setup phase
duration:
0.0005703549832105637outcome:
passed📌 Call phase
duration:
0.00037072692066431046outcome:
passed📌 Teardown phase
duration:
0.00017798389308154583outcome:
passed -
✅ Test 102
📌 Setup phase
duration:
0.000582398846745491outcome:
passed📌 Call phase
duration:
0.0004085840191692114outcome:
passed📌 Teardown phase
duration:
0.00023993593640625477outcome:
passed -
✅ Test 103
📌 Setup phase
duration:
0.0006087629590183496outcome:
passed📌 Call phase
duration:
0.0004039430059492588outcome:
passed📌 Teardown phase
duration:
0.00020911009050905704outcome:
passed -
✅ Test 104
📌 Setup phase
duration:
0.0007071220315992832outcome:
passed📌 Call phase
duration:
0.0005616701673716307outcome:
passed📌 Teardown phase
duration:
0.00019026407971978188outcome:
passed
-
-
📄 test_utils_picklio.py
↳ Function: test_pickle_and_unpickle
-
✅ Test 106
📌 Setup phase
duration:
0.0012501650489866734outcome:
passed📌 Call phase
duration:
0.000501939794048667outcome:
passed📌 Teardown phase
duration:
0.00020296103321015835outcome:
passed -
✅ Test 107
📌 Setup phase
duration:
0.0006133501883596182outcome:
passed📌 Call phase
duration:
0.00032087904401123524outcome:
passed📌 Teardown phase
duration:
0.00016866018995642662outcome:
passed -
✅ Test 108
📌 Setup phase
duration:
0.0005715710576623678outcome:
passed📌 Call phase
duration:
0.0002887630835175514outcome:
passed📌 Teardown phase
duration:
0.0001631749328225851outcome:
passed -
✅ Test 109
📌 Setup phase
duration:
0.0006578720640391111outcome:
passed📌 Call phase
duration:
0.00029444904066622257outcome:
passed📌 Teardown phase
duration:
0.00018847710452973843outcome:
passed -
✅ Test 110
📌 Setup phase
duration:
0.0006190768908709288outcome:
passed📌 Call phase
duration:
0.0002974539529532194outcome:
passed📌 Teardown phase
duration:
0.00015978002920746803outcome:
passed -
✅ Test 111
📌 Setup phase
duration:
0.0005659230519086123outcome:
passed📌 Call phase
duration:
0.0002978129778057337outcome:
passed📌 Teardown phase
duration:
0.00020248303189873695outcome:
passed -
✅ Test 112
📌 Setup phase
duration:
0.000552506884559989outcome:
passed📌 Call phase
duration:
0.00033723912201821804outcome:
passed📌 Teardown phase
duration:
0.0008332869037985802outcome:
passed
-
❌ Failed (3)
-
📄 test_utils_debug.py
↳ Function: test_short_repr
-
❌ Test 72
📌 Setup phase
duration:
0.000269648851826787outcome:
passed📌 Call phase
duration:
0.0009545639622956514outcome:
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.0003346849698573351outcome:
passed -
❌ Test 76
📌 Setup phase
duration:
0.0002677480224519968outcome:
passed📌 Call phase
duration:
0.0006074619013816118outcome:
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.00025464617647230625outcome:
passed
-
-
📄 test_utils_lazypv.py
↳ Function: test_getattr
-
❌ Test 105
📌 Setup phase
duration:
0.00012765987776219845outcome:
passed📌 Call phase
duration:
3.0990490571130067outcome:
failedcrash:
path: /workspace/tligui_y/slic/tests/test_utils_lazypv.py lineno: 53 message: AssertionError: Expected dict because form='time' assert False + where False = isinstance(None, dict)traceback:
- path: tests/test_utils_lazypv.py lineno: 53 message: AssertionErrorlongrepr:
def test_getattr(): # Only valid kwargs accepted by epics.PV pv = PV( "ca://TEST:FLOAT", form='time', auto_monitor=True, verbose=True, connection_timeout=3.0 ) # Pv not yet instantiated assert pv._pv is None # Trigger instantiation by accessing a real attribute pvname = pv.__getattr__('pvname') assert isinstance(pvname, str) assert pvname == "ca://TEST:FLOAT" assert pv._pv is not None # access all known epics.PV kwargs via __getattr__ form = pv.__getattr__('form') assert form == 'time' auto_monitor = pv.__getattr__('auto_monitor') assert auto_monitor is True verbose = pv.__getattr__('verbose') assert verbose is True timeout = pv.__getattr__('connection_timeout') assert isinstance(timeout, (float, int)) assert timeout == 3.0 # Have the get() method from (__getattr__) to get all the parameters in a dict get_method = pv.__getattr__('get') assert callable(get_method) # Check if it's really a function result = get_method() > assert isinstance(result, dict), "Expected dict because form='time'" E AssertionError: Expected dict because form='time' E assert False E + where False = isinstance(None, dict) tests/test_utils_lazypv.py:53: AssertionError📌 Teardown phase
duration:
0.0004899378400295973outcome:
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:
✅ 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 (10 tests)
-
✅ tests
- Outcome:
passed - result:
- nodeid: tests/test_utils_ask_yes_no.py type: Module - nodeid: tests/test_utils_channels.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_jsonext.py type: Module - nodeid: tests/test_utils_lazypv.py type: Module - nodeid: tests/test_utils_picklio.py type: Module-
✅ 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_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_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: 14 - 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:
- Outcome:
✅ . (1 tests)
-
✅ .
- Outcome:
passed - result:
- nodeid: ci-reports type: Dir - nodeid: outputs type: Dir - nodeid: slic type: Package - nodeid: temp-ci type: Dir - nodeid: tests type: Dir - Outcome:
⚠️ Warnings
Warnings #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 #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 #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 #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