From 9a16feea7da207dd94d9e1e85f3a9251d032db1c Mon Sep 17 00:00:00 2001 From: Philippe Proulx Date: Mon, 2 Oct 2017 13:18:39 -0400 Subject: [PATCH] cli: do not automatically create an implicit filter.lttng-utils.debug-info comp. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Remove --no-debug-info option, and add --debug-info option to explicitly enable this filter. Fix tests/cli/test_convert_args.in which now does not depend on ENABLE_DEBUG_INFO. Signed-off-by: Philippe Proulx Signed-off-by: Jérémie Galarneau --- cli/babeltrace-cfg-cli-args-default.c | 4 +- cli/babeltrace-cfg-cli-args.c | 22 ++--- cli/babeltrace-cfg-cli-args.h | 2 +- tests/cli/test_convert_args.in | 137 ++++++++------------------ 4 files changed, 55 insertions(+), 110 deletions(-) diff --git a/cli/babeltrace-cfg-cli-args-default.c b/cli/babeltrace-cfg-cli-args-default.c index 2a66a635..6dcd72d7 100644 --- a/cli/babeltrace-cfg-cli-args-default.c +++ b/cli/babeltrace-cfg-cli-args-default.c @@ -53,7 +53,7 @@ struct bt_config *bt_config_cli_args_create_with_default(int argc, } cfg = bt_config_cli_args_create(argc, argv, retcode, true, true, - BT_ENABLE_DEBUG_INFO == 0, initial_plugin_paths); + initial_plugin_paths); goto end; error: @@ -71,7 +71,7 @@ struct bt_config *bt_config_cli_args_create_with_default(int argc, const char *argv[], int *retcode) { return bt_config_cli_args_create(argc, argv, retcode, false, false, - BT_ENABLE_DEBUG_INFO == 0, NULL); + NULL); } #endif /* BT_SET_DEFAULT_IN_TREE_CONFIGURATION */ diff --git a/cli/babeltrace-cfg-cli-args.c b/cli/babeltrace-cfg-cli-args.c index 60e5605d..c1570634 100644 --- a/cli/babeltrace-cfg-cli-args.c +++ b/cli/babeltrace-cfg-cli-args.c @@ -1305,6 +1305,7 @@ enum { OPT_COMPONENT, OPT_CONNECT, OPT_DEBUG, + OPT_DEBUG_INFO, OPT_DEBUG_INFO_DIR, OPT_DEBUG_INFO_FULL_PATH, OPT_DEBUG_INFO_TARGET_PREFIX, @@ -1316,7 +1317,6 @@ enum { OPT_LIST, OPT_NAME, OPT_NAMES, - OPT_NO_DEBUG_INFO, OPT_NO_DELTA, OPT_OMIT_HOME_PLUGIN_PATH, OPT_OMIT_SYSTEM_PLUGIN_PATH, @@ -2813,6 +2813,8 @@ void print_convert_usage(FILE *fp) 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"); @@ -2821,8 +2823,6 @@ void print_convert_usage(FILE *fp) 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"); @@ -2880,7 +2880,7 @@ struct poptOption convert_long_options[] = { { "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 }, @@ -3552,7 +3552,7 @@ end: 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; @@ -3627,7 +3627,7 @@ struct bt_config *bt_config_convert_from_args(int argc, const char *argv[], } 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; } @@ -3926,6 +3926,7 @@ struct bt_config *bt_config_convert_from_args(int argc, const char *argv[], 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: @@ -3933,7 +3934,6 @@ struct bt_config *bt_config_convert_from_args(int argc, const char *argv[], 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: @@ -4098,8 +4098,8 @@ struct bt_config *bt_config_convert_from_args(int argc, const char *argv[], 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; @@ -4786,7 +4786,7 @@ char log_level_from_arg(const char *arg) 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; @@ -4933,7 +4933,7 @@ struct bt_config *bt_config_cli_args_create(int argc, const char *argv[], 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: diff --git a/cli/babeltrace-cfg-cli-args.h b/cli/babeltrace-cfg-cli-args.h index b5eb3b2d..1f29741e 100644 --- a/cli/babeltrace-cfg-cli-args.h +++ b/cli/babeltrace-cfg-cli-args.h @@ -36,7 +36,7 @@ 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); #endif /* CLI_BABELTRACE_CFG_CLI_ARGS_H */ diff --git a/tests/cli/test_convert_args.in b/tests/cli/test_convert_args.in index d5939cde..d7532950 100644 --- a/tests/cli/test_convert_args.in +++ b/tests/cli/test_convert_args.in @@ -67,110 +67,55 @@ comment() { } @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' -- 2.34.1