trimmer: proper formatting of timestamp conversion error
[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
30# shellcheck source=../../../utils/utils.sh
31source "$UTILSSH"
32
33data_dir="$BT_TESTS_SRCDIR/data/plugins/flt.utils.trimmer"
34temp_expected=$(mktemp)
35
36plan_tests 32
37
38function 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
53cc240b 61 bt_diff_cli "$temp_expected" -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
188edac1
SM
62 ok $? "$test_name"
63}
64
65function test_with_stream_msg_cs {
66 with_stream_msgs_cs="true"
67
68 # Baseline (without trimming)
69 cat <<- 'END' > $temp_expected
70 [100 10,100,000,000,000] {0 0 0} Stream beginning
71 [200 10,200,000,000,000] {0 0 0} Packet beginning
72 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
73 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
74 [900 10,900,000,000,000] {0 0 0} Packet end
75 [1000 11,000,000,000,000] {0 0 0} Stream end
76 END
77 run_test "" ""
78
79 # Trim begin at a time before what the clock class can represent
80 cat <<- 'END' > $temp_expected
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 50 ""
89
90 # Trim begin before stream beginning
91 cat <<- 'END' > $temp_expected
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 10050 ""
100
101 # Trim begin before packet beginning
102 cat <<- 'END' > $temp_expected
103 [150 10,150,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 10150 ""
111
112 # Trim begin before first event
113 cat <<- 'END' > $temp_expected
114 [250 10,250,000,000,000] {0 0 0} Stream beginning
115 [250 10,250,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 10250 ""
122
123 # Trim begin before second event
124 cat <<- 'END' > $temp_expected
125 [350 10,350,000,000,000] {0 0 0} Stream beginning
126 [350 10,350,000,000,000] {0 0 0} Packet beginning
127 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
128 [900 10,900,000,000,000] {0 0 0} Packet end
129 [1000 11,000,000,000,000] {0 0 0} Stream end
130 END
131
132 run_test 10350 ""
133
134 # Trim begin before packet end
135 cat <<- 'END' > $temp_expected
136 [850 10,850,000,000,000] {0 0 0} Stream beginning
137 [850 10,850,000,000,000] {0 0 0} Packet beginning
138 [900 10,900,000,000,000] {0 0 0} Packet end
139 [1000 11,000,000,000,000] {0 0 0} Stream end
140 END
141
142 run_test 10850 ""
143
144 # Trim begin after everything
145 cat <<- 'END' > $temp_expected
146 END
147
148 run_test 11050 ""
149
150 # Trim end after stream end
151 cat <<- 'END' > $temp_expected
152 [100 10,100,000,000,000] {0 0 0} Stream beginning
153 [200 10,200,000,000,000] {0 0 0} Packet beginning
154 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
155 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
156 [900 10,900,000,000,000] {0 0 0} Packet end
157 [1000 11,000,000,000,000] {0 0 0} Stream end
158 END
159
160 run_test "" 11050
161
162 # Trim end after packet end
163 cat <<- 'END' > $temp_expected
164 [100 10,100,000,000,000] {0 0 0} Stream beginning
165 [200 10,200,000,000,000] {0 0 0} Packet beginning
166 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
167 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
168 [900 10,900,000,000,000] {0 0 0} Packet end
169 [950 10,950,000,000,000] {0 0 0} Stream end
170 END
171
172 run_test "" 10950
173
174 # Trim end after second event
175 cat <<- 'END' > $temp_expected
176 [100 10,100,000,000,000] {0 0 0} Stream beginning
177 [200 10,200,000,000,000] {0 0 0} Packet beginning
178 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
179 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
180 [450 10,450,000,000,000] {0 0 0} Packet end
181 [450 10,450,000,000,000] {0 0 0} Stream end
182 END
183
184 run_test "" 10450
185
186 # Trim end after first event
187 cat <<- 'END' > $temp_expected
188 [100 10,100,000,000,000] {0 0 0} Stream beginning
189 [200 10,200,000,000,000] {0 0 0} Packet beginning
190 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
191 [350 10,350,000,000,000] {0 0 0} Packet end
192 [350 10,350,000,000,000] {0 0 0} Stream end
193 END
194
195 run_test "" 10350
196
197 # Trim end after packet beginning
198 cat <<- 'END' > $temp_expected
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 [250 10,250,000,000,000] {0 0 0} Packet end
202 [250 10,250,000,000,000] {0 0 0} Stream end
203 END
204
205 run_test "" 10250
206
207 # Trim end after stream beginning
208 cat <<- 'END' > $temp_expected
209 [100 10,100,000,000,000] {0 0 0} Stream beginning
210 [150 10,150,000,000,000] {0 0 0} Stream end
211 END
212
213 run_test "" 10150
214
215 # Trim end before everything
216 cat <<- 'END' > $temp_expected
217 END
218
219 run_test "" 10050
220
221 # Trim end at a time before what the clock class can represent
222 cat <<- 'END' > $temp_expected
223 END
224
225 run_test "" 50
226}
227
228function test_without_stream_msg_cs {
229 with_stream_msgs_cs="false"
230
231 # Baseline (without trimming)
232 cat <<- 'END' > $temp_expected
233 [Unknown] {0 0 0} Stream beginning
234 [200 10,200,000,000,000] {0 0 0} Packet beginning
235 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
236 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
237 [900 10,900,000,000,000] {0 0 0} Packet end
238 [Unknown] {0 0 0} Stream end
239 END
240 run_test "" ""
241
242 # Trim begin at a time before what the clock class can represent
243 cat <<- 'END' > $temp_expected
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 50 ""
252
253 # Trim begin before stream beginning
254 cat <<- 'END' > $temp_expected
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 10050 ""
263
264 # Trim begin before packet beginning
265 cat <<- 'END' > $temp_expected
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 10150 ""
274
275 # Trim begin before first event
276 cat <<- 'END' > $temp_expected
277 [250 10,250,000,000,000] {0 0 0} Stream beginning
278 [250 10,250,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 10250 ""
285
286 # Trim begin before second event
287 cat <<- 'END' > $temp_expected
288 [350 10,350,000,000,000] {0 0 0} Stream beginning
289 [350 10,350,000,000,000] {0 0 0} Packet beginning
290 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
291 [900 10,900,000,000,000] {0 0 0} Packet end
292 [Unknown] {0 0 0} Stream end
293 END
294
295 run_test 10350 ""
296
297 # Trim begin before packet end
298 cat <<- 'END' > $temp_expected
299 [850 10,850,000,000,000] {0 0 0} Stream beginning
300 [850 10,850,000,000,000] {0 0 0} Packet beginning
301 [900 10,900,000,000,000] {0 0 0} Packet end
302 [Unknown] {0 0 0} Stream end
303 END
304
305 run_test 10850 ""
306
307 # Trim begin after everything
308 cat <<- 'END' > $temp_expected
309 END
310
311 run_test 11050 ""
312
313 # Trim end after stream end
314 cat <<- 'END' > $temp_expected
315 [Unknown] {0 0 0} Stream beginning
316 [200 10,200,000,000,000] {0 0 0} Packet beginning
317 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
318 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
319 [900 10,900,000,000,000] {0 0 0} Packet end
320 [Unknown] {0 0 0} Stream end
321 END
322
323 run_test "" 11050
324
325 # Trim end after packet end
326 cat <<- 'END' > $temp_expected
327 [Unknown] {0 0 0} Stream beginning
328 [200 10,200,000,000,000] {0 0 0} Packet beginning
329 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
330 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
331 [900 10,900,000,000,000] {0 0 0} Packet end
332 [Unknown] {0 0 0} Stream end
333 END
334
335 run_test "" 10950
336
337 # Trim end after second event
338 cat <<- 'END' > $temp_expected
339 [Unknown] {0 0 0} Stream beginning
340 [200 10,200,000,000,000] {0 0 0} Packet beginning
341 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
342 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
343 [450 10,450,000,000,000] {0 0 0} Packet end
344 [450 10,450,000,000,000] {0 0 0} Stream end
345 END
346
347 run_test "" 10450
348
349 # Trim end after first event
350 cat <<- 'END' > $temp_expected
351 [Unknown] {0 0 0} Stream beginning
352 [200 10,200,000,000,000] {0 0 0} Packet beginning
353 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
354 [350 10,350,000,000,000] {0 0 0} Packet end
355 [350 10,350,000,000,000] {0 0 0} Stream end
356 END
357
358 run_test "" 10350
359
360 # Trim end after packet beginning
361 cat <<- 'END' > $temp_expected
362 [Unknown] {0 0 0} Stream beginning
363 [200 10,200,000,000,000] {0 0 0} Packet beginning
364 [250 10,250,000,000,000] {0 0 0} Packet end
365 [250 10,250,000,000,000] {0 0 0} Stream end
366 END
367
368 run_test "" 10250
369
370 # Trim end after stream beginning
371 cat <<- 'END' > $temp_expected
372 [Unknown] {0 0 0} Stream beginning
373 [Unknown] {0 0 0} Stream end
374 END
375
376 run_test "" 10150
377
378 # Trim end before everything
379 cat <<- 'END' > $temp_expected
380 [Unknown] {0 0 0} Stream beginning
381 [Unknown] {0 0 0} Stream end
382 END
383
384 run_test "" 10050
385
386 # Trim end at a time before what the clock class can represent
387 cat <<- 'END' > $temp_expected
388 [Unknown] {0 0 0} Stream beginning
389 [Unknown] {0 0 0} Stream end
390 END
391
392 run_test "" 50
393}
394
395test_with_stream_msg_cs
396test_without_stream_msg_cs
397
398rm -f "$temp_expected"
This page took 0.037779 seconds and 4 git commands to generate.