DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
TriggerActivity_binding_test Namespace Reference

Functions

int test_trigger_activity_data_defaults ()
int test_trigger_activity_data_enums ()
int test_trigger_activity_holder_from_bytes ()
int main ()

Function Documentation

◆ main()

int main ( )

Definition at line 150 of file TriggerActivity_binding_test.py.

150def main() -> int:
151 failures = 0
152 failures += test_trigger_activity_data_defaults()
153 failures += test_trigger_activity_data_enums()
154 failures += test_trigger_activity_holder_from_bytes()
155
156 if failures == 0:
157 print("TriggerActivity binding tests passed")
158 else:
159 print(f"TriggerActivity binding tests had {failures} failure(s)")
160
161 return failures
162
163
int main(int argc, char *argv[])

◆ test_trigger_activity_data_defaults()

int test_trigger_activity_data_defaults ( )

Definition at line 6 of file TriggerActivity_binding_test.py.

6def test_trigger_activity_data_defaults() -> int:
7 ta = TriggerActivityData()
8
9 if ta is None:
10 print("FAIL: TriggerActivityData default construction returned None")
11 return 1
12
13 size = TriggerActivityData.sizeof()
14 if size != 80:
15 print(f"FAIL: TriggerActivityData.sizeof() returned {size}, expected 80")
16 return 1
17
18 if TriggerActivityData.s_trigger_activity_version != 2:
19 print(
20 "FAIL: TriggerActivityData.s_trigger_activity_version expected 2, "
21 f"got {TriggerActivityData.s_trigger_activity_version}"
22 )
23 return 1
24
25 if TriggerActivityData.s_invalid_channel != (2**32 - 1):
26 print(
27 "FAIL: TriggerActivityData.s_invalid_channel expected 2**32-1, "
28 f"got {TriggerActivityData.s_invalid_channel}"
29 )
30 return 1
31
32 if ta.version != 2:
33 print(f"FAIL: TriggerActivityData.version expected 2, got {ta.version}")
34 return 1
35
36 if ta.version != TriggerActivityData.s_trigger_activity_version:
37 print(
38 "FAIL: TriggerActivityData.version should match s_trigger_activity_version, "
39 f"got {ta.version} vs {TriggerActivityData.s_trigger_activity_version}"
40 )
41 return 1
42
43 if ta.time_start != (2**64 - 1):
44 print(f"FAIL: TriggerActivityData.time_start expected 2**64-1, got {ta.time_start}")
45 return 1
46
47 if ta.time_end != (2**64 - 1):
48 print(f"FAIL: TriggerActivityData.time_end expected 2**64-1, got {ta.time_end}")
49 return 1
50
51 if ta.time_peak != (2**64 - 1):
52 print(f"FAIL: TriggerActivityData.time_peak expected 2**64-1, got {ta.time_peak}")
53 return 1
54
55 if ta.time_activity != (2**64 - 1):
56 print(
57 "FAIL: TriggerActivityData.time_activity expected 2**64-1, "
58 f"got {ta.time_activity}"
59 )
60 return 1
61
62 if ta.channel_start != TriggerActivityData.s_invalid_channel:
63 print(
64 "FAIL: TriggerActivityData.channel_start expected invalid channel, "
65 f"got {ta.channel_start}"
66 )
67 return 1
68
69 if ta.channel_end != TriggerActivityData.s_invalid_channel:
70 print(
71 "FAIL: TriggerActivityData.channel_end expected invalid channel, "
72 f"got {ta.channel_end}"
73 )
74 return 1
75
76 if ta.channel_peak != TriggerActivityData.s_invalid_channel:
77 print(
78 "FAIL: TriggerActivityData.channel_peak expected invalid channel, "
79 f"got {ta.channel_peak}"
80 )
81 return 1
82
83 if ta.adc_integral != 0:
84 print(f"FAIL: TriggerActivityData.adc_integral expected 0, got {ta.adc_integral}")
85 return 1
86
87 if ta.adc_peak != 0:
88 print(f"FAIL: TriggerActivityData.adc_peak expected 0, got {ta.adc_peak}")
89 return 1
90
91 if ta.detid != 2**8 - 1:
92 print(f"FAIL: TriggerActivityData.detid expected 2**8 - 1, got {ta.detid}")
93 return 1
94
95 if ta.type != TriggerActivityData.Type.kUnknown:
96 print(f"FAIL: TriggerActivityData.type expected kUnknown, got {ta.type}")
97 return 1
98
99 if ta.algorithm != TriggerActivityData.Algorithm.kUnknown:
100 print(f"FAIL: TriggerActivityData.algorithm expected kUnknown, got {ta.algorithm}")
101 return 1
102
103 print("PASS: TriggerActivityData default checks")
104 return 0
105
106

◆ test_trigger_activity_data_enums()

int test_trigger_activity_data_enums ( )

Definition at line 107 of file TriggerActivity_binding_test.py.

107def test_trigger_activity_data_enums() -> int:
108 # Confirm expected enum names are available through bindings.
109 enum_checks = [
110 TriggerActivityData.Type.kUnknown,
111 TriggerActivityData.Type.kTPC,
112 TriggerActivityData.Type.kPDS,
113 TriggerActivityData.Algorithm.kUnknown,
114 TriggerActivityData.Algorithm.kSupernova,
115 TriggerActivityData.Algorithm.kSWIFT,
116 ]
117
118 if any(value is None for value in enum_checks):
119 print("FAIL: TriggerActivityData enum exposure appears incomplete")
120 return 1
121
122 print("PASS: TriggerActivityData enum exposure")
123 return 0
124
125

◆ test_trigger_activity_holder_from_bytes()

int test_trigger_activity_holder_from_bytes ( )

Definition at line 126 of file TriggerActivity_binding_test.py.

126def test_trigger_activity_holder_from_bytes() -> int:
127 payload = bytes(TriggerActivityData.sizeof() + 8)
128 ta = TriggerActivity(payload)
129
130 if ta.sizeof() != len(payload):
131 print(f"FAIL: TriggerActivity sizeof mismatch, got {ta.sizeof()}, expected {len(payload)}")
132 return 1
133
134 if len(ta) != 0:
135 print(f"FAIL: TriggerActivity expected length 0 for zero payload, got {len(ta)}")
136 return 1
137
138 if ta.n_inputs() != 0:
139 print(f"FAIL: TriggerActivity n_inputs expected 0 for zero payload, got {ta.n_inputs()}")
140 return 1
141
142 if len(ta.get_bytes()) != len(payload):
143 print("FAIL: TriggerActivity get_bytes length mismatch")
144 return 1
145
146 print("PASS: TriggerActivity holder bytes roundtrip with zero-input payload")
147 return 0
148
149