lib: remove stream activity messages
[babeltrace.git] / tests / plugins / flt.utils.trimmer / test_trimming
1 #!/bin/bash
2 #
3 # Copyright (C) 2019 Simon Marchi <simon.marchi@efficios.com>
4 #
5 # This program is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU General Public License
7 # as published by the Free Software Foundation; only version 2
8 # of the License.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19 # This file tests what happens when we trim at different points in the message
20 # flow.
21
22 SH_TAP=1
23
24 if [ "x${BT_TESTS_SRCDIR:-}" != "x" ]; then
25 UTILSSH="$BT_TESTS_SRCDIR/utils/utils.sh"
26 else
27 UTILSSH="$(dirname "$0")/../../utils/utils.sh"
28 fi
29
30 # shellcheck source=../../../utils/utils.sh
31 source "$UTILSSH"
32
33 data_dir="$BT_TESTS_SRCDIR/data/plugins/flt.utils.trimmer"
34 temp_expected=$(mktemp)
35
36 plan_tests 32
37
38 function run_test
39 {
40 local begin_time="$1"
41 local end_time="$2"
42
43 if [ -n "$begin_time" ]; then
44 begin="--begin=$begin_time"
45 test_name="with $begin"
46 else
47 begin=""
48 test_name="without --begin"
49 fi
50
51 if [ -n "$end_time" ]; then
52 end="--end=$end_time"
53 test_name="$test_name, with $end"
54 else
55 end=""
56 test_name="$test_name, without --end"
57 fi
58
59 # with_stream_msgs_cs is set to "true" or "false" by the tests.
60
61 cli_args="-c src.test-trimmer.TheSourceOfAllEvil -p 'with-stream-msgs-cs=$with_stream_msgs_cs' -c sink.text.details '--params=compact=true,with-metadata=false' '--plugin-path=$data_dir' $begin $end"
62
63 bt_diff_cli "$cli_args" "$temp_expected"
64 ok $? "$test_name"
65 }
66
67 function test_with_stream_msg_cs {
68 with_stream_msgs_cs="true"
69
70 # Baseline (without trimming)
71 cat <<- 'END' > $temp_expected
72 [100 10,100,000,000,000] {0 0 0} Stream beginning
73 [200 10,200,000,000,000] {0 0 0} Packet beginning
74 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
75 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
76 [900 10,900,000,000,000] {0 0 0} Packet end
77 [1000 11,000,000,000,000] {0 0 0} Stream end
78 END
79 run_test "" ""
80
81 # Trim begin at a time before what the clock class can represent
82 cat <<- 'END' > $temp_expected
83 [100 10,100,000,000,000] {0 0 0} Stream beginning
84 [200 10,200,000,000,000] {0 0 0} Packet beginning
85 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
86 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
87 [900 10,900,000,000,000] {0 0 0} Packet end
88 [1000 11,000,000,000,000] {0 0 0} Stream end
89 END
90 run_test 50 ""
91
92 # Trim begin before stream beginning
93 cat <<- 'END' > $temp_expected
94 [100 10,100,000,000,000] {0 0 0} Stream beginning
95 [200 10,200,000,000,000] {0 0 0} Packet beginning
96 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
97 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
98 [900 10,900,000,000,000] {0 0 0} Packet end
99 [1000 11,000,000,000,000] {0 0 0} Stream end
100 END
101 run_test 10050 ""
102
103 # Trim begin before packet beginning
104 cat <<- 'END' > $temp_expected
105 [150 10,150,000,000,000] {0 0 0} Stream beginning
106 [200 10,200,000,000,000] {0 0 0} Packet beginning
107 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
108 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
109 [900 10,900,000,000,000] {0 0 0} Packet end
110 [1000 11,000,000,000,000] {0 0 0} Stream end
111 END
112 run_test 10150 ""
113
114 # Trim begin before first event
115 cat <<- 'END' > $temp_expected
116 [250 10,250,000,000,000] {0 0 0} Stream beginning
117 [250 10,250,000,000,000] {0 0 0} Packet beginning
118 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
119 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
120 [900 10,900,000,000,000] {0 0 0} Packet end
121 [1000 11,000,000,000,000] {0 0 0} Stream end
122 END
123 run_test 10250 ""
124
125 # Trim begin before second event
126 cat <<- 'END' > $temp_expected
127 [350 10,350,000,000,000] {0 0 0} Stream beginning
128 [350 10,350,000,000,000] {0 0 0} Packet beginning
129 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
130 [900 10,900,000,000,000] {0 0 0} Packet end
131 [1000 11,000,000,000,000] {0 0 0} Stream end
132 END
133
134 run_test 10350 ""
135
136 # Trim begin before packet end
137 cat <<- 'END' > $temp_expected
138 [850 10,850,000,000,000] {0 0 0} Stream beginning
139 [850 10,850,000,000,000] {0 0 0} Packet beginning
140 [900 10,900,000,000,000] {0 0 0} Packet end
141 [1000 11,000,000,000,000] {0 0 0} Stream end
142 END
143
144 run_test 10850 ""
145
146 # Trim begin after everything
147 cat <<- 'END' > $temp_expected
148 END
149
150 run_test 11050 ""
151
152 # Trim end after stream end
153 cat <<- 'END' > $temp_expected
154 [100 10,100,000,000,000] {0 0 0} Stream beginning
155 [200 10,200,000,000,000] {0 0 0} Packet beginning
156 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
157 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
158 [900 10,900,000,000,000] {0 0 0} Packet end
159 [1000 11,000,000,000,000] {0 0 0} Stream end
160 END
161
162 run_test "" 11050
163
164 # Trim end after packet end
165 cat <<- 'END' > $temp_expected
166 [100 10,100,000,000,000] {0 0 0} Stream beginning
167 [200 10,200,000,000,000] {0 0 0} Packet beginning
168 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
169 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
170 [900 10,900,000,000,000] {0 0 0} Packet end
171 [950 10,950,000,000,000] {0 0 0} Stream end
172 END
173
174 run_test "" 10950
175
176 # Trim end after second event
177 cat <<- 'END' > $temp_expected
178 [100 10,100,000,000,000] {0 0 0} Stream beginning
179 [200 10,200,000,000,000] {0 0 0} Packet beginning
180 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
181 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
182 [450 10,450,000,000,000] {0 0 0} Packet end
183 [450 10,450,000,000,000] {0 0 0} Stream end
184 END
185
186 run_test "" 10450
187
188 # Trim end after first event
189 cat <<- 'END' > $temp_expected
190 [100 10,100,000,000,000] {0 0 0} Stream beginning
191 [200 10,200,000,000,000] {0 0 0} Packet beginning
192 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
193 [350 10,350,000,000,000] {0 0 0} Packet end
194 [350 10,350,000,000,000] {0 0 0} Stream end
195 END
196
197 run_test "" 10350
198
199 # Trim end after packet beginning
200 cat <<- 'END' > $temp_expected
201 [100 10,100,000,000,000] {0 0 0} Stream beginning
202 [200 10,200,000,000,000] {0 0 0} Packet beginning
203 [250 10,250,000,000,000] {0 0 0} Packet end
204 [250 10,250,000,000,000] {0 0 0} Stream end
205 END
206
207 run_test "" 10250
208
209 # Trim end after stream beginning
210 cat <<- 'END' > $temp_expected
211 [100 10,100,000,000,000] {0 0 0} Stream beginning
212 [150 10,150,000,000,000] {0 0 0} Stream end
213 END
214
215 run_test "" 10150
216
217 # Trim end before everything
218 cat <<- 'END' > $temp_expected
219 END
220
221 run_test "" 10050
222
223 # Trim end at a time before what the clock class can represent
224 cat <<- 'END' > $temp_expected
225 END
226
227 run_test "" 50
228 }
229
230 function test_without_stream_msg_cs {
231 with_stream_msgs_cs="false"
232
233 # Baseline (without trimming)
234 cat <<- 'END' > $temp_expected
235 [Unknown] {0 0 0} Stream beginning
236 [200 10,200,000,000,000] {0 0 0} Packet beginning
237 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
238 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
239 [900 10,900,000,000,000] {0 0 0} Packet end
240 [Unknown] {0 0 0} Stream end
241 END
242 run_test "" ""
243
244 # Trim begin at a time before what the clock class can represent
245 cat <<- 'END' > $temp_expected
246 [Unknown] {0 0 0} Stream beginning
247 [200 10,200,000,000,000] {0 0 0} Packet beginning
248 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
249 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
250 [900 10,900,000,000,000] {0 0 0} Packet end
251 [Unknown] {0 0 0} Stream end
252 END
253 run_test 50 ""
254
255 # Trim begin before stream beginning
256 cat <<- 'END' > $temp_expected
257 [Unknown] {0 0 0} Stream beginning
258 [200 10,200,000,000,000] {0 0 0} Packet beginning
259 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
260 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
261 [900 10,900,000,000,000] {0 0 0} Packet end
262 [Unknown] {0 0 0} Stream end
263 END
264 run_test 10050 ""
265
266 # Trim begin before packet beginning
267 cat <<- 'END' > $temp_expected
268 [Unknown] {0 0 0} Stream beginning
269 [200 10,200,000,000,000] {0 0 0} Packet beginning
270 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
271 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
272 [900 10,900,000,000,000] {0 0 0} Packet end
273 [Unknown] {0 0 0} Stream end
274 END
275 run_test 10150 ""
276
277 # Trim begin before first event
278 cat <<- 'END' > $temp_expected
279 [250 10,250,000,000,000] {0 0 0} Stream beginning
280 [250 10,250,000,000,000] {0 0 0} Packet beginning
281 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
282 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
283 [900 10,900,000,000,000] {0 0 0} Packet end
284 [Unknown] {0 0 0} Stream end
285 END
286 run_test 10250 ""
287
288 # Trim begin before second event
289 cat <<- 'END' > $temp_expected
290 [350 10,350,000,000,000] {0 0 0} Stream beginning
291 [350 10,350,000,000,000] {0 0 0} Packet beginning
292 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
293 [900 10,900,000,000,000] {0 0 0} Packet end
294 [Unknown] {0 0 0} Stream end
295 END
296
297 run_test 10350 ""
298
299 # Trim begin before packet end
300 cat <<- 'END' > $temp_expected
301 [850 10,850,000,000,000] {0 0 0} Stream beginning
302 [850 10,850,000,000,000] {0 0 0} Packet beginning
303 [900 10,900,000,000,000] {0 0 0} Packet end
304 [Unknown] {0 0 0} Stream end
305 END
306
307 run_test 10850 ""
308
309 # Trim begin after everything
310 cat <<- 'END' > $temp_expected
311 END
312
313 run_test 11050 ""
314
315 # Trim end after stream end
316 cat <<- 'END' > $temp_expected
317 [Unknown] {0 0 0} Stream beginning
318 [200 10,200,000,000,000] {0 0 0} Packet beginning
319 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
320 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
321 [900 10,900,000,000,000] {0 0 0} Packet end
322 [Unknown] {0 0 0} Stream end
323 END
324
325 run_test "" 11050
326
327 # Trim end after packet end
328 cat <<- 'END' > $temp_expected
329 [Unknown] {0 0 0} Stream beginning
330 [200 10,200,000,000,000] {0 0 0} Packet beginning
331 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
332 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
333 [900 10,900,000,000,000] {0 0 0} Packet end
334 [Unknown] {0 0 0} Stream end
335 END
336
337 run_test "" 10950
338
339 # Trim end after second event
340 cat <<- 'END' > $temp_expected
341 [Unknown] {0 0 0} Stream beginning
342 [200 10,200,000,000,000] {0 0 0} Packet beginning
343 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
344 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
345 [450 10,450,000,000,000] {0 0 0} Packet end
346 [450 10,450,000,000,000] {0 0 0} Stream end
347 END
348
349 run_test "" 10450
350
351 # Trim end after first event
352 cat <<- 'END' > $temp_expected
353 [Unknown] {0 0 0} Stream beginning
354 [200 10,200,000,000,000] {0 0 0} Packet beginning
355 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
356 [350 10,350,000,000,000] {0 0 0} Packet end
357 [350 10,350,000,000,000] {0 0 0} Stream end
358 END
359
360 run_test "" 10350
361
362 # Trim end after packet beginning
363 cat <<- 'END' > $temp_expected
364 [Unknown] {0 0 0} Stream beginning
365 [200 10,200,000,000,000] {0 0 0} Packet beginning
366 [250 10,250,000,000,000] {0 0 0} Packet end
367 [250 10,250,000,000,000] {0 0 0} Stream end
368 END
369
370 run_test "" 10250
371
372 # Trim end after stream beginning
373 cat <<- 'END' > $temp_expected
374 [Unknown] {0 0 0} Stream beginning
375 [Unknown] {0 0 0} Stream end
376 END
377
378 run_test "" 10150
379
380 # Trim end before everything
381 cat <<- 'END' > $temp_expected
382 [Unknown] {0 0 0} Stream beginning
383 [Unknown] {0 0 0} Stream end
384 END
385
386 run_test "" 10050
387
388 # Trim end at a time before what the clock class can represent
389 cat <<- 'END' > $temp_expected
390 [Unknown] {0 0 0} Stream beginning
391 [Unknown] {0 0 0} Stream end
392 END
393
394 run_test "" 50
395 }
396
397 test_with_stream_msg_cs
398 test_without_stream_msg_cs
399
400 rm -f "$temp_expected"
This page took 0.040103 seconds and 4 git commands to generate.