3 # Copyright (C) 2019 Simon Marchi <simon.marchi@efficios.com>
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
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.
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.
19 # This file tests what happens when we trim at different points in the message
24 if [ "x${BT_TESTS_SRCDIR:-}" != "x" ]; then
25 UTILSSH
="$BT_TESTS_SRCDIR/utils/utils.sh"
27 UTILSSH
="$(dirname "$0")/../../utils/utils.sh"
30 # shellcheck source=../../../utils/utils.sh
33 data_dir
="$BT_TESTS_SRCDIR/data/plugins/flt.utils.trimmer"
34 temp_expected
=$
(mktemp
)
43 if [ -n "$begin_time" ]; then
44 begin
="--begin=$begin_time"
45 test_name
="with $begin"
48 test_name
="without --begin"
51 if [ -n "$end_time" ]; then
53 test_name
="$test_name, with $end"
56 test_name
="$test_name, without --end"
59 # with_stream_msgs_cs is set to "true" or "false" by the tests.
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"
63 bt_diff_cli
"$cli_args" "$temp_expected"
67 function test_with_stream_msg_cs
{
68 with_stream_msgs_cs
="true"
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
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
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
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
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
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
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
146 # Trim begin after everything
147 cat <<- 'END' > $temp_expected
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
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
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
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
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
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
217 # Trim end before everything
218 cat <<- 'END' > $temp_expected
223 # Trim end at a time before what the clock class can represent
224 cat <<- 'END' > $temp_expected
230 function test_without_stream_msg_cs {
231 with_stream_msgs_cs="false"
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
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
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
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
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
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
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
309 # Trim begin after everything
310 cat <<- 'END' > $temp_expected
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
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
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
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
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
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
380 # Trim end before everything
381 cat <<- 'END' > $temp_expected
382 [Unknown] {0 0 0} Stream beginning
383 [Unknown] {0 0 0} Stream end
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
397 test_with_stream_msg_cs
398 test_without_stream_msg_cs
400 rm -f "$temp_expected"
This page took 0.046363 seconds and 5 git commands to generate.