DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
detdataformats
scripts
HSIFrame_binding_test.py
Go to the documentation of this file.
1
#!/usr/bin/env python3
2
3
import
sys
4
from
detdataformats
import
HSIFrame
5
6
7
def
main
() -> int:
8
9
frame_size = HSIFrame.sizeof()
10
if
frame_size <= 0:
11
print(
"HSIFrame sizeof test failed"
)
12
return
1
13
else
:
14
print(
"HSIFrame sizeof test passed"
)
15
16
frame = HSIFrame()
17
print(
"HSIFrame default constructor test passed"
)
18
19
# Default-constructed frame has max values for timestamp components
20
default_timestamp = frame.get_timestamp()
21
expected_default_timestamp = 0xFFFFFFFFFFFFFFFF
22
if
default_timestamp != expected_default_timestamp:
23
print(f
"HSIFrame default get_timestamp() test failed: got {hex(default_timestamp)}, expected {hex(expected_default_timestamp)}"
)
24
return
1
25
else
:
26
print(
"HSIFrame default get_timestamp() test passed"
)
27
28
frame_from_bytes = HSIFrame(bytes(frame_size))
29
print(
"HSIFrame created from raw bytes"
)
30
31
if
frame_from_bytes.version != 0:
32
print(
"HSIFrame version read from raw bytes test failed"
)
33
return
1
34
35
if
frame_from_bytes.detector_id != 0:
36
print(
"HSIFrame detector_id read from raw bytes test failed"
)
37
return
1
38
39
if
frame_from_bytes.crate != 0:
40
print(
"HSIFrame crate read from raw bytes test failed"
)
41
return
1
42
43
if
frame_from_bytes.slot != 0:
44
print(
"HSIFrame slot read from raw bytes test failed"
)
45
return
1
46
47
if
frame_from_bytes.link != 0:
48
print(
"HSIFrame link read from raw bytes test failed"
)
49
return
1
50
51
if
frame_from_bytes.input_low != 0:
52
print(
"HSIFrame input_low read from raw bytes test failed"
)
53
return
1
54
55
if
frame_from_bytes.input_high != 0:
56
print(
"HSIFrame input_high read from raw bytes test failed"
)
57
return
1
58
59
if
frame_from_bytes.trigger != 0:
60
print(
"HSIFrame trigger read from raw bytes test failed"
)
61
return
1
62
63
if
frame_from_bytes.sequence != 0:
64
print(
"HSIFrame sequence read from raw bytes test failed"
)
65
return
1
66
67
print(
"HSIFrame read-only property tests passed"
)
68
69
try
:
70
frame_from_bytes.version = 1
71
print(
"HSIFrame version write should have raised an exception"
)
72
return
1
73
except
Exception:
74
print(
"HSIFrame version attempted write correctly raised an exception"
)
75
76
timestamp = frame_from_bytes.get_timestamp()
77
expected_timestamp = 0x0
78
if
timestamp != expected_timestamp:
79
print(f
"HSIFrame get_timestamp() test failed: got {timestamp}, expected {expected_timestamp}"
)
80
return
1
81
else
:
82
print(
"HSIFrame zeroed-bytes get_timestamp() test passed"
)
83
84
print(
"\nAll HSIFrame Python binding tests passed"
)
85
return
0
86
87
88
if
__name__ ==
"__main__"
:
89
sys.exit(
main
())
HSIFrame_binding_test.main
int main()
Definition
HSIFrame_binding_test.py:7
Generated on
for DUNE-DAQ by
1.17.0