OPT_COMPONENT,
OPT_CONNECT,
OPT_DEBUG,
+ OPT_DEBUG_INFO,
OPT_DEBUG_INFO_DIR,
OPT_DEBUG_INFO_FULL_PATH,
OPT_DEBUG_INFO_TARGET_PREFIX,
OPT_LIST,
OPT_NAME,
OPT_NAMES,
- OPT_NO_DEBUG_INFO,
OPT_NO_DELTA,
OPT_OMIT_HOME_PLUGIN_PATH,
OPT_OMIT_SYSTEM_PLUGIN_PATH,
fprintf(fp, "\n");
fprintf(fp, "Implicit `filter.lttng-utils.debug-info` component options:\n");
fprintf(fp, "\n");
+ fprintf(fp, " --debug-info Create an implicit\n");
+ fprintf(fp, " `filter.lttng-utils.debug-info` component\n");
fprintf(fp, " --debug-info-dir=DIR Search for debug info in directory DIR\n");
fprintf(fp, " instead of `/usr/lib/debug`\n");
fprintf(fp, " --debug-info-full-path Show full debug info source and\n");
fprintf(fp, " Use directory DIR as a prefix when\n");
fprintf(fp, " looking up executables during debug\n");
fprintf(fp, " info analysis\n");
- fprintf(fp, " --no-debug-info Do not create an implicit\n");
- fprintf(fp, " `lttng-utils.debug-info` filter component\n");
fprintf(fp, "\n");
fprintf(fp, "Legacy options that still work:\n");
fprintf(fp, "\n");
{ "input-format", 'i', POPT_ARG_STRING, NULL, OPT_INPUT_FORMAT, NULL, NULL },
{ "name", '\0', POPT_ARG_STRING, NULL, OPT_NAME, NULL, NULL },
{ "names", 'n', POPT_ARG_STRING, NULL, OPT_NAMES, NULL, NULL },
- { "no-debug-info", '\0', POPT_ARG_NONE, NULL, OPT_NO_DEBUG_INFO, NULL, NULL },
+ { "debug-info", '\0', POPT_ARG_NONE, NULL, OPT_DEBUG_INFO, NULL, NULL },
{ "no-delta", '\0', POPT_ARG_NONE, NULL, OPT_NO_DELTA, NULL, NULL },
{ "omit-home-plugin-path", '\0', POPT_ARG_NONE, NULL, OPT_OMIT_HOME_PLUGIN_PATH, NULL, NULL },
{ "omit-system-plugin-path", '\0', POPT_ARG_NONE, NULL, OPT_OMIT_SYSTEM_PLUGIN_PATH, NULL, NULL },
static
struct bt_config *bt_config_convert_from_args(int argc, const char *argv[],
int *retcode, bool force_omit_system_plugin_path,
- bool force_omit_home_plugin_path, bool force_no_debug_info,
+ bool force_omit_home_plugin_path,
struct bt_value *initial_plugin_paths, char *log_level)
{
poptContext pc = NULL;
}
if (init_implicit_component_args(&implicit_debug_info_args,
- "filter.lttng-utils.debug-info", !force_no_debug_info)) {
+ "filter.lttng-utils.debug-info", false)) {
goto error;
}
case OPT_CLOCK_SECONDS:
case OPT_COLOR:
case OPT_DEBUG:
+ case OPT_DEBUG_INFO:
case OPT_DEBUG_INFO_DIR:
case OPT_DEBUG_INFO_FULL_PATH:
case OPT_DEBUG_INFO_TARGET_PREFIX:
case OPT_FIELDS:
case OPT_INPUT_FORMAT:
case OPT_NAMES:
- case OPT_NO_DEBUG_INFO:
case OPT_NO_DELTA:
case OPT_OUTPUT_FORMAT:
case OPT_OUTPUT:
goto error;
}
break;
- case OPT_NO_DEBUG_INFO:
- implicit_debug_info_args.exists = false;
+ case OPT_DEBUG_INFO:
+ implicit_debug_info_args.exists = true;
break;
case OPT_DEBUG_INFO_DIR:
implicit_debug_info_args.exists = true;
struct bt_config *bt_config_cli_args_create(int argc, const char *argv[],
int *retcode, bool force_omit_system_plugin_path,
- bool force_omit_home_plugin_path, bool force_no_debug_info,
+ bool force_omit_home_plugin_path,
struct bt_value *initial_plugin_paths)
{
struct bt_config *config = NULL;
case COMMAND_TYPE_CONVERT:
config = bt_config_convert_from_args(command_argc, command_argv,
retcode, force_omit_system_plugin_path,
- force_omit_home_plugin_path, force_no_debug_info,
+ force_omit_home_plugin_path,
initial_plugin_paths, &log_level);
break;
case COMMAND_TYPE_LIST_PLUGINS:
}
@BABELTRACE_BUILD_WITH_MINGW_TRUE@path_to_trace="C://path/to/trace"
-@BABELTRACE_BUILD_WITH_MINGW_FALSE@path_to_trace="/paath/to/trace"
+@BABELTRACE_BUILD_WITH_MINGW_FALSE@path_to_trace="/path/to/trace"
@BABELTRACE_BUILD_WITH_MINGW_TRUE@output_path="C://output/path"
@BABELTRACE_BUILD_WITH_MINGW_FALSE@output_path="/output/path"
-@ENABLE_DEBUG_INFO_TRUE@di_component_inst="--component filter.lttng-utils.debug-info --name debug-info "
-@ENABLE_DEBUG_INFO_TRUE@di_component_connect="--connect muxer:debug-info "
-@ENABLE_DEBUG_INFO_TRUE@final_component_name="debug-info"
-@ENABLE_DEBUG_INFO_FALSE@final_component_name="muxer"
-
plan_tests 75
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-@ENABLE_DEBUG_INFO_TRUE@add_component_connect="--connect debug-info:muxer "
-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"
-
-@ENABLE_DEBUG_INFO_TRUE@add_component_connect="--connect debug-info:trimmer "
-@ENABLE_DEBUG_INFO_FALSE@final_component_name="trimmer"
-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"
-
-@ENABLE_DEBUG_INFO_FALSE@final_component_name="muxer"
-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"
-
-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"
-
-@ENABLE_DEBUG_INFO_TRUE@add_component_connect="--connect trimmer:debug-info "
-@ENABLE_DEBUG_INFO_FALSE@final_component_name="trimmer"
-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"
-
-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"
-
-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"
-
-@ENABLE_DEBUG_INFO_FALSE@final_component_name="muxer"
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect ZZ:muxer --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect HELLO:muxer --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect 'source\\.another\\.source:muxer' --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect MY:muxer --connect muxer:dummy"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect 'source\.salut\.com:muxer' --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect source-ctf-fs-0:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty --connect muxer:pretty-0"
+test_bt_convert_run_args 'path leftover + user filter named `muxer`' "--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 --connect source-ctf-fs:muxer --connect muxer:trimmer-0 --connect trimmer-0:muxer --connect trimmer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:trimmer-0 --connect trimmer-0:trimmer --connect trimmer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:trimmer --connect trimmer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:trimmer --connect trimmer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:trimmer --connect trimmer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+test_bt_convert_run_args 'path leftover + --debug-info' "$path_to_trace --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 --component filter.lttng-utils.debug-info --name debug-info --connect source-ctf-fs:muxer --connect muxer:debug-info --connect debug-info:pretty"
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"
-
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"
-
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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
-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"
-
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty"
+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 --connect lttng-live:muxer --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect 'muxer:sink\.abc\.def' --connect muxer:pretty"
+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 --connect source-ctf-fs:muxer --connect muxer:dummy"
+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 --connect source-ctf-fs:muxer --connect muxer:pretty --connect muxer:dummy"
+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 --connect source-ctf-fs:muxer --connect muxer:sink-ctf-fs"
test_bt_convert_fails 'bad --component format (plugin only)' '--component salut'
test_bt_convert_fails 'bad --component format (name and plugin only)' '--component name:salut'