tests: make test names in plugins/flt.utils.trimmer/test_trimming unique
[babeltrace.git] / tests / plugins / flt.utils.trimmer / test_trimming
CommitLineData
b7cbc799
SM
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
22SH_TAP=1
23
24if [ "x${BT_TESTS_SRCDIR:-}" != "x" ]; then
25 UTILSSH="$BT_TESTS_SRCDIR/utils/utils.sh"
26else
27 UTILSSH="$(dirname "$0")/../../utils/utils.sh"
28fi
29
8c083b3e 30# shellcheck source=../../utils/utils.sh
b7cbc799
SM
31source "$UTILSSH"
32
8c083b3e 33data_dir="$BT_TESTS_DATADIR/plugins/flt.utils.trimmer"
ca5f1044
FD
34temp_stdout_expected=$(mktemp)
35temp_stderr_expected="/dev/null"
b7cbc799
SM
36
37plan_tests 32
38
39function run_test
40{
41 local begin_time="$1"
42 local end_time="$2"
c42d6bd4 43 # with_stream_msgs_cs is set to "true" or "false" by the tests.
8c083b3e 44 local local_args=(
d36258d0 45 "--plugin-path" "$data_dir"
8c083b3e
MJ
46 "-c" "src.test-trimmer.TheSourceOfAllEvil"
47 "-p" "with-stream-msgs-cs=$with_stream_msgs_cs"
48 "-c" "sink.text.details"
49 "--params=compact=true,with-metadata=false"
8c083b3e 50 )
b7cbc799 51
c42d6bd4
SM
52 if [ "$with_stream_msgs_cs" = "true" ]; then
53 test_name="with stream message clock snapshots"
54 else
55 test_name="without stream message clock snapshots"
56 fi
57
b7cbc799 58 if [ -n "$begin_time" ]; then
8c083b3e 59 local_args+=("--begin=$begin_time")
c42d6bd4 60 test_name="$test_name, with --begin=$begin_time"
b7cbc799 61 else
c42d6bd4 62 test_name="$test_name, without --begin"
b7cbc799
SM
63 fi
64
65 if [ -n "$end_time" ]; then
8c083b3e
MJ
66 local_args+=("--end=$end_time")
67 test_name="$test_name, with --end=$end_time"
b7cbc799 68 else
b7cbc799
SM
69 test_name="$test_name, without --end"
70 fi
71
ca5f1044 72 bt_diff_cli "$temp_stdout_expected" "$temp_stderr_expected" "${local_args[@]}"
b7cbc799
SM
73 ok $? "$test_name"
74}
75
76function test_with_stream_msg_cs {
77 with_stream_msgs_cs="true"
78
79 # Baseline (without trimming)
ca5f1044 80 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
81 [100 10,100,000,000,000] {0 0 0} Stream beginning
82 [200 10,200,000,000,000] {0 0 0} Packet beginning
83 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
84 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
85 [900 10,900,000,000,000] {0 0 0} Packet end
86 [1000 11,000,000,000,000] {0 0 0} Stream end
87 END
88 run_test "" ""
89
90 # Trim begin at a time before what the clock class can represent
ca5f1044 91 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
92 [100 10,100,000,000,000] {0 0 0} Stream beginning
93 [200 10,200,000,000,000] {0 0 0} Packet beginning
94 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
95 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
96 [900 10,900,000,000,000] {0 0 0} Packet end
97 [1000 11,000,000,000,000] {0 0 0} Stream end
98 END
99 run_test 50 ""
100
101 # Trim begin before stream beginning
ca5f1044 102 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
103 [100 10,100,000,000,000] {0 0 0} Stream beginning
104 [200 10,200,000,000,000] {0 0 0} Packet beginning
105 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
106 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
107 [900 10,900,000,000,000] {0 0 0} Packet end
108 [1000 11,000,000,000,000] {0 0 0} Stream end
109 END
110 run_test 10050 ""
111
112 # Trim begin before packet beginning
ca5f1044 113 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
114 [150 10,150,000,000,000] {0 0 0} Stream beginning
115 [200 10,200,000,000,000] {0 0 0} Packet beginning
116 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
117 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
118 [900 10,900,000,000,000] {0 0 0} Packet end
119 [1000 11,000,000,000,000] {0 0 0} Stream end
120 END
121 run_test 10150 ""
122
123 # Trim begin before first event
ca5f1044 124 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
125 [250 10,250,000,000,000] {0 0 0} Stream beginning
126 [250 10,250,000,000,000] {0 0 0} Packet beginning
127 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
128 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
129 [900 10,900,000,000,000] {0 0 0} Packet end
130 [1000 11,000,000,000,000] {0 0 0} Stream end
131 END
132 run_test 10250 ""
133
134 # Trim begin before second event
ca5f1044 135 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
136 [350 10,350,000,000,000] {0 0 0} Stream beginning
137 [350 10,350,000,000,000] {0 0 0} Packet beginning
138 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
139 [900 10,900,000,000,000] {0 0 0} Packet end
140 [1000 11,000,000,000,000] {0 0 0} Stream end
141 END
142
143 run_test 10350 ""
144
145 # Trim begin before packet end
ca5f1044 146 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
147 [850 10,850,000,000,000] {0 0 0} Stream beginning
148 [850 10,850,000,000,000] {0 0 0} Packet beginning
149 [900 10,900,000,000,000] {0 0 0} Packet end
150 [1000 11,000,000,000,000] {0 0 0} Stream end
151 END
152
153 run_test 10850 ""
154
155 # Trim begin after everything
ca5f1044 156 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
157 END
158
159 run_test 11050 ""
160
161 # Trim end after stream end
ca5f1044 162 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
163 [100 10,100,000,000,000] {0 0 0} Stream beginning
164 [200 10,200,000,000,000] {0 0 0} Packet beginning
165 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
166 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
167 [900 10,900,000,000,000] {0 0 0} Packet end
168 [1000 11,000,000,000,000] {0 0 0} Stream end
169 END
170
171 run_test "" 11050
172
173 # Trim end after packet end
ca5f1044 174 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
175 [100 10,100,000,000,000] {0 0 0} Stream beginning
176 [200 10,200,000,000,000] {0 0 0} Packet beginning
177 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
178 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
179 [900 10,900,000,000,000] {0 0 0} Packet end
180 [950 10,950,000,000,000] {0 0 0} Stream end
181 END
182
183 run_test "" 10950
184
185 # Trim end after second event
ca5f1044 186 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
187 [100 10,100,000,000,000] {0 0 0} Stream beginning
188 [200 10,200,000,000,000] {0 0 0} Packet beginning
189 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
190 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
191 [450 10,450,000,000,000] {0 0 0} Packet end
192 [450 10,450,000,000,000] {0 0 0} Stream end
193 END
194
195 run_test "" 10450
196
197 # Trim end after first event
ca5f1044 198 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
199 [100 10,100,000,000,000] {0 0 0} Stream beginning
200 [200 10,200,000,000,000] {0 0 0} Packet beginning
201 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
202 [350 10,350,000,000,000] {0 0 0} Packet end
203 [350 10,350,000,000,000] {0 0 0} Stream end
204 END
205
206 run_test "" 10350
207
208 # Trim end after packet beginning
ca5f1044 209 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
210 [100 10,100,000,000,000] {0 0 0} Stream beginning
211 [200 10,200,000,000,000] {0 0 0} Packet beginning
212 [250 10,250,000,000,000] {0 0 0} Packet end
213 [250 10,250,000,000,000] {0 0 0} Stream end
214 END
215
216 run_test "" 10250
217
218 # Trim end after stream beginning
ca5f1044 219 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
220 [100 10,100,000,000,000] {0 0 0} Stream beginning
221 [150 10,150,000,000,000] {0 0 0} Stream end
222 END
223
224 run_test "" 10150
225
226 # Trim end before everything
ca5f1044 227 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
228 END
229
230 run_test "" 10050
231
232 # Trim end at a time before what the clock class can represent
ca5f1044 233 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
234 END
235
236 run_test "" 50
237}
238
239function test_without_stream_msg_cs {
240 with_stream_msgs_cs="false"
241
242 # Baseline (without trimming)
ca5f1044 243 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
244 [Unknown] {0 0 0} Stream beginning
245 [200 10,200,000,000,000] {0 0 0} Packet beginning
246 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
247 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
248 [900 10,900,000,000,000] {0 0 0} Packet end
249 [Unknown] {0 0 0} Stream end
250 END
251 run_test "" ""
252
253 # Trim begin at a time before what the clock class can represent
ca5f1044 254 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
255 [Unknown] {0 0 0} Stream beginning
256 [200 10,200,000,000,000] {0 0 0} Packet beginning
257 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
258 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
259 [900 10,900,000,000,000] {0 0 0} Packet end
260 [Unknown] {0 0 0} Stream end
261 END
262 run_test 50 ""
263
264 # Trim begin before stream beginning
ca5f1044 265 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
266 [Unknown] {0 0 0} Stream beginning
267 [200 10,200,000,000,000] {0 0 0} Packet beginning
268 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
269 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
270 [900 10,900,000,000,000] {0 0 0} Packet end
271 [Unknown] {0 0 0} Stream end
272 END
273 run_test 10050 ""
274
275 # Trim begin before packet beginning
ca5f1044 276 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
277 [Unknown] {0 0 0} Stream beginning
278 [200 10,200,000,000,000] {0 0 0} Packet beginning
279 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
280 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
281 [900 10,900,000,000,000] {0 0 0} Packet end
282 [Unknown] {0 0 0} Stream end
283 END
284 run_test 10150 ""
285
286 # Trim begin before first event
ca5f1044 287 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
288 [250 10,250,000,000,000] {0 0 0} Stream beginning
289 [250 10,250,000,000,000] {0 0 0} Packet beginning
290 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
291 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
292 [900 10,900,000,000,000] {0 0 0} Packet end
293 [Unknown] {0 0 0} Stream end
294 END
295 run_test 10250 ""
296
297 # Trim begin before second event
ca5f1044 298 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
299 [350 10,350,000,000,000] {0 0 0} Stream beginning
300 [350 10,350,000,000,000] {0 0 0} Packet beginning
301 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
302 [900 10,900,000,000,000] {0 0 0} Packet end
303 [Unknown] {0 0 0} Stream end
304 END
305
306 run_test 10350 ""
307
308 # Trim begin before packet end
ca5f1044 309 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
310 [850 10,850,000,000,000] {0 0 0} Stream beginning
311 [850 10,850,000,000,000] {0 0 0} Packet beginning
312 [900 10,900,000,000,000] {0 0 0} Packet end
313 [Unknown] {0 0 0} Stream end
314 END
315
316 run_test 10850 ""
317
318 # Trim begin after everything
ca5f1044 319 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
320 END
321
322 run_test 11050 ""
323
324 # Trim end after stream end
ca5f1044 325 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
326 [Unknown] {0 0 0} Stream beginning
327 [200 10,200,000,000,000] {0 0 0} Packet beginning
328 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
329 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
330 [900 10,900,000,000,000] {0 0 0} Packet end
331 [Unknown] {0 0 0} Stream end
332 END
333
334 run_test "" 11050
335
336 # Trim end after packet end
ca5f1044 337 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
338 [Unknown] {0 0 0} Stream beginning
339 [200 10,200,000,000,000] {0 0 0} Packet beginning
340 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
341 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
342 [900 10,900,000,000,000] {0 0 0} Packet end
343 [Unknown] {0 0 0} Stream end
344 END
345
346 run_test "" 10950
347
348 # Trim end after second event
ca5f1044 349 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
350 [Unknown] {0 0 0} Stream beginning
351 [200 10,200,000,000,000] {0 0 0} Packet beginning
352 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
353 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
354 [450 10,450,000,000,000] {0 0 0} Packet end
355 [450 10,450,000,000,000] {0 0 0} Stream end
356 END
357
358 run_test "" 10450
359
360 # Trim end after first event
ca5f1044 361 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
362 [Unknown] {0 0 0} Stream beginning
363 [200 10,200,000,000,000] {0 0 0} Packet beginning
364 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
365 [350 10,350,000,000,000] {0 0 0} Packet end
366 [350 10,350,000,000,000] {0 0 0} Stream end
367 END
368
369 run_test "" 10350
370
371 # Trim end after packet beginning
ca5f1044 372 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
373 [Unknown] {0 0 0} Stream beginning
374 [200 10,200,000,000,000] {0 0 0} Packet beginning
375 [250 10,250,000,000,000] {0 0 0} Packet end
376 [250 10,250,000,000,000] {0 0 0} Stream end
377 END
378
379 run_test "" 10250
380
381 # Trim end after stream beginning
ca5f1044 382 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
383 [Unknown] {0 0 0} Stream beginning
384 [Unknown] {0 0 0} Stream end
385 END
386
387 run_test "" 10150
388
389 # Trim end before everything
ca5f1044 390 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
391 [Unknown] {0 0 0} Stream beginning
392 [Unknown] {0 0 0} Stream end
393 END
394
395 run_test "" 10050
396
397 # Trim end at a time before what the clock class can represent
ca5f1044 398 cat <<- 'END' > "$temp_stdout_expected"
b7cbc799
SM
399 [Unknown] {0 0 0} Stream beginning
400 [Unknown] {0 0 0} Stream end
401 END
402
403 run_test "" 50
404}
405
406test_with_stream_msg_cs
407test_without_stream_msg_cs
408
ca5f1044
FD
409# Do not `rm` $temp_stderr_expected because it's set to `/dev/null` right now
410# and that would print an error.
411rm -f "$temp_stdout_expected"
This page took 0.046565 seconds and 4 git commands to generate.