Tested-by: Taeung Song <treeze.tae...@gmail.com> Test-Date: 2016-03-10 Version: perf version 4.5.rc2.g8c497f Kernel: 4.5.0-rc4+ Distro: Ubuntu 15.10 wily
Test Environment: 1. Perf PATH # whereis perf perf: /usr/local/bin/perf /usr/local/share/man/man1/perf.1.gz 2. User config file # cat ~/.perfconfig [report] queue-size = 1 [call-graph] threshold = 2.0 [test] location = user [top] children = false 3. System config file # cat /usr/local/etc/perfconfig [ui] show-headers = false [test] location = system [top] children = true Test Results: Case 0) BASIC: perf_config() function work normally # cat ~/.perfconfig [colors] top = blue, white # perf top (omitted output, there isn't any problem) Case 1) BASIC: List functionality without a specific file (equal with user + system config, but user config has order of priority) # cat ~/.perfconfig [report] queue-size = 1 [call-graph] threshold = 2.0 [test] location = user [top] children = false # perf config --list ui.show-headers=false call-graph.threshold=2.0 report.queue-size=1 top.children=false test.location=user Case 2) BASIC: List functionality with user config file # perf config --user --list call-graph.threshold=2.0 report.queue-size=1 top.children=false test.location=user Case 3) BASIC: List functionality with system config file # perf config --system --list ui.show-headers=false top.children=true test.location=system Case 4) EXCEP HANDLING: If using two config file at a time # perf config --user --system --list Error: only one config file at a time Usage: perf config [<file-option>] [options] --user use user config file- --system use system config file Case 5) EXCEP HANDLING: user config file : don't exist || permission denied || empty (user wide ~/.perfconfig) # perf config --user --list Nothing configured, please check your /home/taeung/.perfconfig Case 6) EXCEP HANDLING: system config file : don't exist || permission denied || empty (system wide /usr/local/etc/perfconfig depending on perf PATH) # perf config --system --list Nothing configured, please check your /usr/local/etc/perfconfig Cc: Namhyung Kim <namhy...@kernel.org> Cc: Jiri Olsa <jo...@kernel.org> --- tools/perf/builtin-config.c | 61 +++++++--- tools/perf/util/cache.h | 2 - tools/perf/util/config.c | 268 +++++++++++++++++++++++++++++++++++++++++--- tools/perf/util/config.h | 138 +++++++++++++++++++++++ 4 files changed, 433 insertions(+), 36 deletions(-) create mode 100644 tools/perf/util/config.h