perf tools: Add the bash completion for listing subsubcommands of perf test
The bash completion does not support listing subsubcommands for 'perf test <TAB>', so fix it. Example: Before this patch: $ perf test <TAB> $ As shown above, the subsubcommands of perf test does not come out. After this patch: $ perf test <TAB> list As shown above, the subsubcommands of perf test can come out now. Signed-off-by: Yunlong Song <yunlong.song@huawei.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/r/1426685758-25488-11-git-send-email-yunlong.song@huawei.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
40cae2b779
commit
1f9975f14c
|
@ -143,7 +143,7 @@ __perf_main ()
|
||||||
__perfcomp_colon "$evts" "$cur"
|
__perfcomp_colon "$evts" "$cur"
|
||||||
else
|
else
|
||||||
# List subcommands for perf commands
|
# List subcommands for perf commands
|
||||||
if [[ $prev_skip_opts == @(kvm|kmem|mem|lock|sched|data|help|script) ]]; then
|
if [[ $prev_skip_opts == @(kvm|kmem|mem|lock|sched|data|help|script|test) ]]; then
|
||||||
subcmds=$($cmd $prev_skip_opts --list-cmds)
|
subcmds=$($cmd $prev_skip_opts --list-cmds)
|
||||||
__perfcomp_colon "$subcmds" "$cur"
|
__perfcomp_colon "$subcmds" "$cur"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -291,7 +291,7 @@ static int perf_test__list(int argc, const char **argv)
|
||||||
|
|
||||||
int cmd_test(int argc, const char **argv, const char *prefix __maybe_unused)
|
int cmd_test(int argc, const char **argv, const char *prefix __maybe_unused)
|
||||||
{
|
{
|
||||||
const char * const test_usage[] = {
|
const char *test_usage[] = {
|
||||||
"perf test [<options>] [{list <test-name-fragment>|[<test-name-fragments>|<test-numbers>]}]",
|
"perf test [<options>] [{list <test-name-fragment>|[<test-name-fragments>|<test-numbers>]}]",
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
@ -302,13 +302,14 @@ int cmd_test(int argc, const char **argv, const char *prefix __maybe_unused)
|
||||||
"be more verbose (show symbol address, etc)"),
|
"be more verbose (show symbol address, etc)"),
|
||||||
OPT_END()
|
OPT_END()
|
||||||
};
|
};
|
||||||
|
const char * const test_subcommands[] = { "list", NULL };
|
||||||
struct intlist *skiplist = NULL;
|
struct intlist *skiplist = NULL;
|
||||||
int ret = hists__init();
|
int ret = hists__init();
|
||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
argc = parse_options(argc, argv, test_options, test_usage, 0);
|
argc = parse_options_subcommand(argc, argv, test_options, test_subcommands, test_usage, 0);
|
||||||
if (argc >= 1 && !strcmp(argv[0], "list"))
|
if (argc >= 1 && !strcmp(argv[0], "list"))
|
||||||
return perf_test__list(argc, argv);
|
return perf_test__list(argc, argv);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue