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_DATADIR/plugins/flt.utils.trimmer"
34 temp_stdout_expected
=$
(mktemp
)
35 temp_stderr_expected
="/dev/null"
44 "-c" "src.test-trimmer.TheSourceOfAllEvil"
45 "-p" "with-stream-msgs-cs=$with_stream_msgs_cs"
46 "-c" "sink.text.details"
47 "--params=compact=true,with-metadata=false"
48 "--plugin-path=$data_dir"
51 if [ -n "$begin_time" ]; then
52 local_args
+=("--begin=$begin_time")
53 test_name
="with --begin=$begin_time"
55 test_name
="without --begin"
58 if [ -n "$end_time" ]; then
59 local_args
+=("--end=$end_time")
60 test_name
="$test_name, with --end=$end_time"
62 test_name
="$test_name, without --end"
65 # with_stream_msgs_cs is set to "true" or "false" by the tests.
67 bt_diff_cli
"$temp_stdout_expected" "$temp_stderr_expected" "${local_args[@]}"
71 function test_with_stream_msg_cs
{
72 with_stream_msgs_cs
="true"
74 # Baseline (without trimming)
75 cat <<- 'END' > "$temp_stdout_expected"
76 [100 10,100,000,000,000] {0 0 0} Stream beginning
77 [200 10,200,000,000,000] {0 0 0} Packet beginning
78 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
79 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
80 [900 10,900,000,000,000] {0 0 0} Packet end
81 [1000 11,000,000,000,000] {0 0 0} Stream end
85 # Trim begin at a time before what the clock class can represent
86 cat <<- 'END' > "$temp_stdout_expected"
87 [100 10,100,000,000,000] {0 0 0} Stream beginning
88 [200 10,200,000,000,000] {0 0 0} Packet beginning
89 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
90 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
91 [900 10,900,000,000,000] {0 0 0} Packet end
92 [1000 11,000,000,000,000] {0 0 0} Stream end
96 # Trim begin before stream beginning
97 cat <<- 'END' > "$temp_stdout_expected"
98 [100 10,100,000,000,000] {0 0 0} Stream beginning
99 [200 10,200,000,000,000] {0 0 0} Packet beginning
100 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
101 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
102 [900 10,900,000,000,000] {0 0 0} Packet end
103 [1000 11,000,000,000,000] {0 0 0} Stream end
107 # Trim begin before packet beginning
108 cat <<- 'END' > "$temp_stdout_expected"
109 [150 10,150,000,000,000] {0 0 0} Stream beginning
110 [200 10,200,000,000,000] {0 0 0} Packet beginning
111 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
112 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
113 [900 10,900,000,000,000] {0 0 0} Packet end
114 [1000 11,000,000,000,000] {0 0 0} Stream end
118 # Trim begin before first event
119 cat <<- 'END' > "$temp_stdout_expected"
120 [250 10,250,000,000,000] {0 0 0} Stream beginning
121 [250 10,250,000,000,000] {0 0 0} Packet beginning
122 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
123 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
124 [900 10,900,000,000,000] {0 0 0} Packet end
125 [1000 11,000,000,000,000] {0 0 0} Stream end
129 # Trim begin before second event
130 cat <<- 'END' > "$temp_stdout_expected"
131 [350 10,350,000,000,000] {0 0 0} Stream beginning
132 [350 10,350,000,000,000] {0 0 0} Packet beginning
133 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
134 [900 10,900,000,000,000] {0 0 0} Packet end
135 [1000 11,000,000,000,000] {0 0 0} Stream end
140 # Trim begin before packet end
141 cat <<- 'END' > "$temp_stdout_expected"
142 [850 10,850,000,000,000] {0 0 0} Stream beginning
143 [850 10,850,000,000,000] {0 0 0} Packet beginning
144 [900 10,900,000,000,000] {0 0 0} Packet end
145 [1000 11,000,000,000,000] {0 0 0} Stream end
150 # Trim begin after everything
151 cat <<- 'END' > "$temp_stdout_expected"
156 # Trim end after stream end
157 cat <<- 'END' > "$temp_stdout_expected"
158 [100 10,100,000,000,000] {0 0 0} Stream beginning
159 [200 10,200,000,000,000] {0 0 0} Packet beginning
160 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
161 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
162 [900 10,900,000,000,000] {0 0 0} Packet end
163 [1000 11,000,000,000,000] {0 0 0} Stream end
168 # Trim end after packet end
169 cat <<- 'END' > "$temp_stdout_expected"
170 [100 10,100,000,000,000] {0 0 0} Stream beginning
171 [200 10,200,000,000,000] {0 0 0} Packet beginning
172 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
173 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
174 [900 10,900,000,000,000] {0 0 0} Packet end
175 [950 10,950,000,000,000] {0 0 0} Stream end
180 # Trim end after second event
181 cat <<- 'END' > "$temp_stdout_expected"
182 [100 10,100,000,000,000] {0 0 0} Stream beginning
183 [200 10,200,000,000,000] {0 0 0} Packet beginning
184 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
185 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
186 [450 10,450,000,000,000] {0 0 0} Packet end
187 [450 10,450,000,000,000] {0 0 0} Stream end
192 # Trim end after first event
193 cat <<- 'END' > "$temp_stdout_expected"
194 [100 10,100,000,000,000] {0 0 0} Stream beginning
195 [200 10,200,000,000,000] {0 0 0} Packet beginning
196 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
197 [350 10,350,000,000,000] {0 0 0} Packet end
198 [350 10,350,000,000,000] {0 0 0} Stream end
203 # Trim end after packet beginning
204 cat <<- 'END' > "$temp_stdout_expected"
205 [100 10,100,000,000,000] {0 0 0} Stream beginning
206 [200 10,200,000,000,000] {0 0 0} Packet beginning
207 [250 10,250,000,000,000] {0 0 0} Packet end
208 [250 10,250,000,000,000] {0 0 0} Stream end
213 # Trim end after stream beginning
214 cat <<- 'END' > "$temp_stdout_expected"
215 [100 10,100,000,000,000] {0 0 0} Stream beginning
216 [150 10,150,000,000,000] {0 0 0} Stream end
221 # Trim end before everything
222 cat <<- 'END' > "$temp_stdout_expected"
227 # Trim end at a time before what the clock class can represent
228 cat <<- 'END' > "$temp_stdout_expected"
234 function test_without_stream_msg_cs {
235 with_stream_msgs_cs="false"
237 # Baseline (without trimming)
238 cat <<- 'END' > "$temp_stdout_expected"
239 [Unknown] {0 0 0} Stream beginning
240 [200 10,200,000,000,000] {0 0 0} Packet beginning
241 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
242 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
243 [900 10,900,000,000,000] {0 0 0} Packet end
244 [Unknown] {0 0 0} Stream end
248 # Trim begin at a time before what the clock class can represent
249 cat <<- 'END' > "$temp_stdout_expected"
250 [Unknown] {0 0 0} Stream beginning
251 [200 10,200,000,000,000] {0 0 0} Packet beginning
252 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
253 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
254 [900 10,900,000,000,000] {0 0 0} Packet end
255 [Unknown] {0 0 0} Stream end
259 # Trim begin before stream beginning
260 cat <<- 'END' > "$temp_stdout_expected"
261 [Unknown] {0 0 0} Stream beginning
262 [200 10,200,000,000,000] {0 0 0} Packet beginning
263 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
264 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
265 [900 10,900,000,000,000] {0 0 0} Packet end
266 [Unknown] {0 0 0} Stream end
270 # Trim begin before packet beginning
271 cat <<- 'END' > "$temp_stdout_expected"
272 [Unknown] {0 0 0} Stream beginning
273 [200 10,200,000,000,000] {0 0 0} Packet beginning
274 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
275 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
276 [900 10,900,000,000,000] {0 0 0} Packet end
277 [Unknown] {0 0 0} Stream end
281 # Trim begin before first event
282 cat <<- 'END' > "$temp_stdout_expected"
283 [250 10,250,000,000,000] {0 0 0} Stream beginning
284 [250 10,250,000,000,000] {0 0 0} Packet beginning
285 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
286 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
287 [900 10,900,000,000,000] {0 0 0} Packet end
288 [Unknown] {0 0 0} Stream end
292 # Trim begin before second event
293 cat <<- 'END' > "$temp_stdout_expected"
294 [350 10,350,000,000,000] {0 0 0} Stream beginning
295 [350 10,350,000,000,000] {0 0 0} Packet beginning
296 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
297 [900 10,900,000,000,000] {0 0 0} Packet end
298 [Unknown] {0 0 0} Stream end
303 # Trim begin before packet end
304 cat <<- 'END' > "$temp_stdout_expected"
305 [850 10,850,000,000,000] {0 0 0} Stream beginning
306 [850 10,850,000,000,000] {0 0 0} Packet beginning
307 [900 10,900,000,000,000] {0 0 0} Packet end
308 [Unknown] {0 0 0} Stream end
313 # Trim begin after everything
314 cat <<- 'END' > "$temp_stdout_expected"
319 # Trim end after stream end
320 cat <<- 'END' > "$temp_stdout_expected"
321 [Unknown] {0 0 0} Stream beginning
322 [200 10,200,000,000,000] {0 0 0} Packet beginning
323 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
324 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
325 [900 10,900,000,000,000] {0 0 0} Packet end
326 [Unknown] {0 0 0} Stream end
331 # Trim end after packet end
332 cat <<- 'END' > "$temp_stdout_expected"
333 [Unknown] {0 0 0} Stream beginning
334 [200 10,200,000,000,000] {0 0 0} Packet beginning
335 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
336 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
337 [900 10,900,000,000,000] {0 0 0} Packet end
338 [Unknown] {0 0 0} Stream end
343 # Trim end after second event
344 cat <<- 'END' > "$temp_stdout_expected"
345 [Unknown] {0 0 0} Stream beginning
346 [200 10,200,000,000,000] {0 0 0} Packet beginning
347 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
348 [400 10,400,000,000,000] {0 0 0} Event `event 2` (1)
349 [450 10,450,000,000,000] {0 0 0} Packet end
350 [450 10,450,000,000,000] {0 0 0} Stream end
355 # Trim end after first event
356 cat <<- 'END' > "$temp_stdout_expected"
357 [Unknown] {0 0 0} Stream beginning
358 [200 10,200,000,000,000] {0 0 0} Packet beginning
359 [300 10,300,000,000,000] {0 0 0} Event `event 1` (0)
360 [350 10,350,000,000,000] {0 0 0} Packet end
361 [350 10,350,000,000,000] {0 0 0} Stream end
366 # Trim end after packet beginning
367 cat <<- 'END' > "$temp_stdout_expected"
368 [Unknown] {0 0 0} Stream beginning
369 [200 10,200,000,000,000] {0 0 0} Packet beginning
370 [250 10,250,000,000,000] {0 0 0} Packet end
371 [250 10,250,000,000,000] {0 0 0} Stream end
376 # Trim end after stream beginning
377 cat <<- 'END' > "$temp_stdout_expected"
378 [Unknown] {0 0 0} Stream beginning
379 [Unknown] {0 0 0} Stream end
384 # Trim end before everything
385 cat <<- 'END' > "$temp_stdout_expected"
386 [Unknown] {0 0 0} Stream beginning
387 [Unknown] {0 0 0} Stream end
392 # Trim end at a time before what the clock class can represent
393 cat <<- 'END' > "$temp_stdout_expected"
394 [Unknown] {0 0 0} Stream beginning
395 [Unknown] {0 0 0} Stream end
401 test_with_stream_msg_cs
402 test_without_stream_msg_cs
404 # Do not `rm` $temp_stderr_expected because it's set to `/dev/null` right now
405 # and that would print an error.
406 rm -f "$temp_stdout_expected"
This page took 0.040323 seconds and 4 git commands to generate.