| 1 | #!/bin/bash |
| 2 | # |
| 3 | # Copyright (C) - 2017 Philippe Proulx <pproulx@efficios.com> |
| 4 | # |
| 5 | # This program is free software; you can redistribute it and/or modify it |
| 6 | # under the terms of the GNU General Public License, version 2 only, as |
| 7 | # published by the Free Software Foundation. |
| 8 | # |
| 9 | # This program is distributed in the hope that it will be useful, but WITHOUT |
| 10 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| 11 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
| 12 | # more details. |
| 13 | # |
| 14 | # You should have received a copy of the GNU General Public License along with |
| 15 | # this program; if not, write to the Free Software Foundation, Inc., 51 |
| 16 | # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
| 17 | |
| 18 | . "@abs_top_builddir@/tests/utils/common.sh" |
| 19 | |
| 20 | test_bt_convert_run_args() { |
| 21 | local what="$1" |
| 22 | local convert_args="$2" |
| 23 | local expected_run_args="$3" |
| 24 | |
| 25 | # execute convert command |
| 26 | local run_args="$("$BT_BIN" convert --run-args $convert_args)" |
| 27 | |
| 28 | # check result |
| 29 | if [ "$test_head_comment" = 1 ]; then |
| 30 | comment "convert args: $convert_args" |
| 31 | fi |
| 32 | |
| 33 | if [ "$run_args" = "$expected_run_args" ]; then |
| 34 | pass "ARGS: $what" |
| 35 | else |
| 36 | fail "ARGS: $what" |
| 37 | diag "ARGS: $convert_args" |
| 38 | diag "EXPECTED: $expected_run_args" |
| 39 | diag "GOT: $run_args" |
| 40 | fi |
| 41 | } |
| 42 | |
| 43 | test_bt_convert_fails() { |
| 44 | local what="$1" |
| 45 | local convert_args="$2" |
| 46 | |
| 47 | # execute convert command |
| 48 | "$BT_BIN" convert --run-args $convert_args >/dev/null 2>&1 |
| 49 | |
| 50 | local status=$? |
| 51 | |
| 52 | # check result |
| 53 | if [ "$test_head_comment" = 1 ]; then |
| 54 | comment "convert args: $convert_args" |
| 55 | fi |
| 56 | |
| 57 | if [ "$status" = 0 ]; then |
| 58 | fail "SUCCEEDS (should fail): $what" |
| 59 | diag "ARGS: $convert_args" |
| 60 | else |
| 61 | pass "FAILS: $what" |
| 62 | fi |
| 63 | } |
| 64 | |
| 65 | comment() { |
| 66 | echo "### $1 ###" |
| 67 | } |
| 68 | |
| 69 | @BABELTRACE_BUILD_WITH_MINGW_TRUE@path_to_trace="C://path/to/trace" |
| 70 | @BABELTRACE_BUILD_WITH_MINGW_FALSE@path_to_trace="/paath/to/trace" |
| 71 | @BABELTRACE_BUILD_WITH_MINGW_TRUE@output_path="C://output/path" |
| 72 | @BABELTRACE_BUILD_WITH_MINGW_FALSE@output_path="/output/path" |
| 73 | |
| 74 | @ENABLE_DEBUG_INFO_TRUE@di_component_inst="--component filter.lttng-utils.debug-info --name debug-info " |
| 75 | @ENABLE_DEBUG_INFO_TRUE@di_component_connect="--connect muxer:debug-info " |
| 76 | @ENABLE_DEBUG_INFO_TRUE@final_component_name="debug-info" |
| 77 | @ENABLE_DEBUG_INFO_FALSE@final_component_name="muxer" |
| 78 | |
| 79 | plan_tests 75 |
| 80 | |
| 81 | test_bt_convert_run_args 'path leftover' "$path_to_trace" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 82 | |
| 83 | test_bt_convert_run_args 'path leftover + named user source with --params' "$path_to_trace --component ZZ:source.another.source --params salut=yes" "--component ZZ:source.another.source --params salut=yes --component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect ZZ:muxer --connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 84 | |
| 85 | test_bt_convert_run_args 'path leftover + named user source with --name --params' "$path_to_trace --component source.another.source --name HELLO --params salut=yes" "--component source.another.source --name HELLO --params salut=yes --component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect HELLO:muxer --connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 86 | |
| 87 | test_bt_convert_run_args 'path leftover + user source with --path --params' "$path_to_trace --component source.another.source --path some-path --params salut=yes" "--component source.another.source --key path --value some-path --params salut=yes --name source.another.source --component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect 'source\\.another\\.source:muxer' --connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 88 | |
| 89 | test_bt_convert_run_args 'user source with --url + -o dummy' '--component MY:source.my.source --url the-url -o dummy' "--component MY:source.my.source --key url --value the-url --component sink.utils.dummy --name dummy --component filter.utils.muxer --name muxer ${di_component_inst}--connect MY:muxer ${di_component_connect}--connect ${final_component_name}:dummy" |
| 90 | |
| 91 | test_bt_convert_run_args 'path leftover + --omit-home-plugin-path' "$path_to_trace --omit-home-plugin-path" "--omit-home-plugin-path --component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 92 | |
| 93 | test_bt_convert_run_args 'path leftover + --omit-system-plugin-path' "$path_to_trace --omit-system-plugin-path" "--omit-system-plugin-path --component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 94 | |
| 95 | test_bt_convert_run_args 'path leftover + --plugin-path' "--plugin-path=PATH1:PATH2 $path_to_trace" "--plugin-path PATH1:PATH2 --component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 96 | |
| 97 | test_bt_convert_run_args 'unnamed user source' '--component source.salut.com' "--component source.salut.com --name source.salut.com --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect 'source\.salut\.com:muxer' ${di_component_connect}--connect ${final_component_name}:pretty" |
| 98 | |
| 99 | test_bt_convert_run_args 'path leftover + user source named `source-ctf-fs`' "--component source-ctf-fs:source.salut.com $path_to_trace" "--component source-ctf-fs:source.salut.com --component source.ctf.fs --name source-ctf-fs-0 --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer --connect source-ctf-fs-0:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 100 | |
| 101 | test_bt_convert_run_args 'path leftover + user sink named `pretty`' "--component pretty:sink.my.sink $path_to_trace" "--component pretty:sink.my.sink --component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 102 | |
| 103 | test_bt_convert_run_args 'path leftover + --clock-seconds + user sink named `pretty`' "--clock-seconds --component pretty:sink.my.sink $path_to_trace" "--component pretty:sink.my.sink --component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty-0 --params clock-seconds=yes --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty --connect ${final_component_name}:pretty-0" |
| 104 | |
| 105 | @ENABLE_DEBUG_INFO_TRUE@add_component_connect="--connect debug-info:muxer " |
| 106 | test_bt_convert_run_args 'path leftover + user filter named `muxer`' "--component muxer:filter.salut.com $path_to_trace" "--component muxer:filter.salut.com --component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer-0 ${di_component_inst}--connect source-ctf-fs:muxer-0 --connect muxer-0:${final_component_name} ${add_component_connect}--connect muxer:pretty" |
| 107 | |
| 108 | @ENABLE_DEBUG_INFO_TRUE@add_component_connect="--connect debug-info:trimmer " |
| 109 | @ENABLE_DEBUG_INFO_FALSE@final_component_name="trimmer" |
| 110 | test_bt_convert_run_args 'path leftover + --begin + user filter named `trimmer`' "$path_to_trace --component trimmer:filter.salut.com --begin=abc" "--component trimmer:filter.salut.com --component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer --component filter.utils.trimmer --name trimmer-0 --key begin --value abc ${di_component_inst}--connect source-ctf-fs:muxer --connect muxer:trimmer-0 --connect trimmer-0:${final_component_name} ${add_component_connect}--connect trimmer:pretty" |
| 111 | |
| 112 | @ENABLE_DEBUG_INFO_FALSE@final_component_name="muxer" |
| 113 | test_bt_convert_run_args 'path leftover + --plugin-path' "$path_to_trace --plugin-path a:b:c" "--plugin-path a:b:c --component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 114 | |
| 115 | test_bt_convert_run_args 'path leftover + --omit-home-plugin-path --omit-system-plugin-path' "$path_to_trace --omit-home-plugin-path --omit-system-plugin-path" "--omit-home-plugin-path --omit-system-plugin-path --component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 116 | |
| 117 | @ENABLE_DEBUG_INFO_TRUE@add_component_connect="--connect trimmer:debug-info " |
| 118 | @ENABLE_DEBUG_INFO_FALSE@final_component_name="trimmer" |
| 119 | test_bt_convert_run_args 'path leftover + --begin' "$path_to_trace --begin=123" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer --component filter.utils.trimmer --name trimmer --key begin --value 123 ${di_component_inst}--connect source-ctf-fs:muxer --connect muxer:trimmer ${add_component_connect}--connect ${final_component_name}:pretty" |
| 120 | |
| 121 | test_bt_convert_run_args 'path leftover + --begin --end' "$path_to_trace --end=456 --begin 123" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer --component filter.utils.trimmer --name trimmer --key end --value 456 --key begin --value 123 ${di_component_inst}--connect source-ctf-fs:muxer --connect muxer:trimmer ${add_component_connect}--connect ${final_component_name}:pretty" |
| 122 | |
| 123 | test_bt_convert_run_args 'path leftover + --timerange' "$path_to_trace --timerange=[abc,xyz]" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer --component filter.utils.trimmer --name trimmer --key begin --value abc --key end --value xyz ${di_component_inst}--connect source-ctf-fs:muxer --connect muxer:trimmer ${add_component_connect}--connect ${final_component_name}:pretty" |
| 124 | |
| 125 | @ENABLE_DEBUG_INFO_FALSE@final_component_name="muxer" |
| 126 | test_bt_convert_run_args 'path leftover + --clock-cycles' "$path_to_trace --clock-cycles" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --params clock-cycles=yes --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 127 | |
| 128 | test_bt_convert_run_args 'path leftover + --clock-date' "$path_to_trace --clock-date" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --params clock-date=yes --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 129 | |
| 130 | test_bt_convert_run_args 'path leftover + --clock-force-correlate' "$path_to_trace --clock-force-correlate" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer --params assume-absolute-clock-classes=yes ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 131 | |
| 132 | test_bt_convert_run_args 'path leftover + --clock-gmt' "$path_to_trace --clock-gmt" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --params clock-gmt=yes --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 133 | |
| 134 | test_bt_convert_run_args 'path leftover + --clock-offset' "$path_to_trace --clock-offset=15487" "--component source.ctf.fs --name source-ctf-fs --params clock-class-offset-s=15487 --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 135 | |
| 136 | test_bt_convert_run_args 'path leftover + --clock-offset-ns' "$path_to_trace --clock-offset-ns=326159487" "--component source.ctf.fs --name source-ctf-fs --params clock-class-offset-ns=326159487 --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 137 | |
| 138 | test_bt_convert_run_args 'path leftover + --clock-seconds' "$path_to_trace --clock-seconds" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --params clock-seconds=yes --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 139 | |
| 140 | test_bt_convert_run_args 'path leftover + --color' "$path_to_trace --color=never" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --key color --value never --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 141 | |
| 142 | test_bt_convert_run_args 'path leftover + --no-debug-info' "$path_to_trace --no-debug-info" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer --connect source-ctf-fs:muxer --connect muxer:pretty" |
| 143 | |
| 144 | test_bt_convert_run_args 'path leftover + --debug-info-dir' "$path_to_trace --debug-info-dir=${output_path}" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer --component filter.lttng-utils.debug-info --name debug-info --key dir --value ${output_path} --connect source-ctf-fs:muxer --connect muxer:debug-info --connect debug-info:pretty" |
| 145 | |
| 146 | test_bt_convert_run_args 'path leftover + --debug-info-target-prefix' "$path_to_trace --debug-info-target-prefix=${output_path}" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer --component filter.lttng-utils.debug-info --name debug-info --key target-prefix --value ${output_path} --connect source-ctf-fs:muxer --connect muxer:debug-info --connect debug-info:pretty" |
| 147 | |
| 148 | test_bt_convert_run_args 'path leftover + --debug-info-full-path' "$path_to_trace --debug-info-full-path" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer --component filter.lttng-utils.debug-info --name debug-info --params full-path=yes --connect source-ctf-fs:muxer --connect muxer:debug-info --connect debug-info:pretty" |
| 149 | |
| 150 | test_bt_convert_run_args 'path leftover + --fields=trace:domain,loglevel' "--fields=trace:domain,loglevel $path_to_trace" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --params field-trace:domain=yes,field-loglevel=yes,field-default=hide --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 151 | |
| 152 | test_bt_convert_run_args 'path leftover + --fields=all' "--fields=all $path_to_trace" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --params field-default=show --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 153 | |
| 154 | test_bt_convert_run_args 'path leftover + --names=context,header' "--names=context,header $path_to_trace" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --params name-context=yes,name-header=yes,name-default=hide --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 155 | |
| 156 | test_bt_convert_run_args 'path leftover + --names=all' "--names=all $path_to_trace" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --params name-default=show --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 157 | |
| 158 | test_bt_convert_run_args 'path leftover + --no-delta' "$path_to_trace --no-delta" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --params no-delta=yes --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 159 | |
| 160 | test_bt_convert_run_args 'path leftover + --output' "$path_to_trace --output $output_path" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --key path --value $output_path --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 161 | |
| 162 | test_bt_convert_run_args 'path leftover + -i ctf' "$path_to_trace -i ctf" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 163 | |
| 164 | test_bt_convert_run_args 'URL leftover + -i lttng-live' 'net://some-host/host/target/session -i lttng-live' "--component source.ctf.lttng-live --name lttng-live --key url --value net://some-host/host/target/session --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect lttng-live:muxer ${di_component_connect}--connect ${final_component_name}:pretty" |
| 165 | |
| 166 | test_bt_convert_run_args 'path leftover + user sink + -o text' "$path_to_trace --component=sink.abc.def -o text" "--component sink.abc.def --name sink.abc.def --component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect '${final_component_name}:sink\.abc\.def' --connect ${final_component_name}:pretty" |
| 167 | |
| 168 | test_bt_convert_run_args 'path leftover + -o dummy' "$path_to_trace -o dummy" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.utils.dummy --name dummy --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:dummy" |
| 169 | |
| 170 | test_bt_convert_run_args 'path leftover + -o dummy + --clock-seconds' "$path_to_trace -o dummy --clock-seconds" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.text.pretty --name pretty --params clock-seconds=yes --component sink.utils.dummy --name dummy --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:pretty --connect ${final_component_name}:dummy" |
| 171 | |
| 172 | test_bt_convert_run_args 'path leftover + -o ctf + --output' "$path_to_trace -o ctf --output $output_path" "--component source.ctf.fs --name source-ctf-fs --key path --value $path_to_trace --component sink.ctf.fs --name sink-ctf-fs --key path --value $output_path --component filter.utils.muxer --name muxer ${di_component_inst}--connect source-ctf-fs:muxer ${di_component_connect}--connect ${final_component_name}:sink-ctf-fs" |
| 173 | |
| 174 | |
| 175 | test_bt_convert_fails 'bad --component format (plugin only)' '--component salut' |
| 176 | test_bt_convert_fails 'bad --component format (name and plugin only)' '--component name:salut' |
| 177 | test_bt_convert_fails 'bad --component format (name only)' '--component name:' |
| 178 | test_bt_convert_fails 'bad --component format (extra dot found)' '--component name:source.plugin.comp.cls' |
| 179 | test_bt_convert_fails 'duplicate component name' '--component hello:sink.a.b --component hello:source.c.d' |
| 180 | test_bt_convert_fails 'unknown option' '--component hello:sink.a.b --salut' |
| 181 | test_bt_convert_fails '--params without current component' '--params lol=23' |
| 182 | test_bt_convert_fails '--path without current component' "--path $path_to_trace" |
| 183 | test_bt_convert_fails '--url without current component' '--url net://some-host/host/target/session' |
| 184 | test_bt_convert_fails '--nane without current component' '--name chapeau' |
| 185 | test_bt_convert_fails 'duplicate --begin' '--begin abc --clock-seconds --begin cde' |
| 186 | test_bt_convert_fails 'duplicate --end' '--begin abc --end xyz --clock-seconds --end cde' |
| 187 | test_bt_convert_fails '--begin and --timerange' '--begin abc --clock-seconds --timerange abc,def' |
| 188 | test_bt_convert_fails '--end and --timerange' '--end abc --clock-seconds --timerange abc,def' |
| 189 | test_bt_convert_fails 'bad --timerange format (1)' '--timerange abc' |
| 190 | test_bt_convert_fails 'bad --timerange format (2)' '--timerange abc,' |
| 191 | test_bt_convert_fails 'bad --timerange format (3)' '--timerange ,cde' |
| 192 | test_bt_convert_fails 'bad --fields format' '--fields salut' |
| 193 | test_bt_convert_fails 'bad --names format' '--names salut' |
| 194 | test_bt_convert_fails 'unknown -i' '-i lol' |
| 195 | test_bt_convert_fails 'duplicate -i' '-i lttng-live --clock-seconds --input-format=ctf' |
| 196 | test_bt_convert_fails 'unknown -o' '-o lol' |
| 197 | test_bt_convert_fails 'duplicate -o' '-o dummy --clock-seconds --output-format=text' |
| 198 | test_bt_convert_fails '--run-args and --run-args-0' "$path_to_trace --run-args --run-args-0" |
| 199 | test_bt_convert_fails '-o ctf-metadata without path' '-o ctf-metadata' |
| 200 | test_bt_convert_fails '-i lttng-live and implicit source.ctf.fs' '-i lttng-live net://some-host/host/target/session --clock-offset=23' |
| 201 | test_bt_convert_fails 'implicit source.ctf.fs without path' '--clock-offset=23' |
| 202 | test_bt_convert_fails 'implicit source.ctf.lttng-live without URL' '-i lttng-live' |
| 203 | test_bt_convert_fails 'no source' '-o text' |
| 204 | test_bt_convert_fails '-o ctf without --output' 'my-trace -o ctf' |
| 205 | test_bt_convert_fails '-o ctf + --output with implicit sink.text.pretty' "my-trace -o ctf --output $output_path --no-delta" |
| 206 | test_bt_convert_fails '--stream-intersection' "$path_to_trace --stream-intersection" |