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