Em Thu, Jun 28, 2018 at 03:16:00PM +0800, Li Zhijian escreveu:
> On system which has not installed debuginfo of iputils(ping) will fail like:
> ~/lkp/linux/tools/perf$ sudo ./perf test ping -v

I think that we should try to check if the required debuginfo package is
installed and if so, expect the symbol resolution that takes place in
that case. Other wise expect [unknown], this way we don't leave this
test accepting almost anything in any case.

- Arnaldo

> 63: probe libc's inet_pton & backtrace it with ping       :
> --- start ---
> test child forked, pid 4207
> ping 4224 [007] 3034121.295510: probe_libc:inet_pton: (7fedfccb2200)
> 7fedfccb2200 __GI___inet_pton+0x0 (/lib/x86_64-linux-gnu/libc-2.23.so)
> 7fedfcc7ad5e getaddrinfo+0xee (/lib/x86_64-linux-gnu/libc-2.23.so)
> 55e3239a9f4d [unknown] (/bin/ping)
> FAIL: expected backtrace entry 3
> ".*\+0x[[:xdigit:]]+[[:space:]]\(.*/bin/ping.*\)$" got "55e3239a9f4d 
> [unknown] (/bin/ping)"
> test child finished with -1
> ---- end ----
> probe libc's inet_pton & backtrace it with ping: FAILED!
> 
> To be compatible with this system, expects [unknown] as well
> 
> Fixes: 7903a7086723 ("perf script: Show symbol offsets by default")
> CC: Sandipan Das <sandi...@linux.vnet.ibm.com>
> CC: Thomas Richter <tmri...@linux.ibm.com>
> Reported-by: kernel test robot <xiaolong...@intel.com>
> Signed-off-by: Li Zhijian <lizhij...@cn.fujitsu.com>
> ---
>  tools/perf/tests/shell/record+probe_libc_inet_pton.sh | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/tests/shell/record+probe_libc_inet_pton.sh 
> b/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
> index 2630570..ebb6549 100755
> --- a/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
> +++ b/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
> @@ -22,12 +22,12 @@ trace_libc_inet_pton_backtrace() {
>               eventattr='call-graph=dwarf,max-stack=4'
>               
> expected[2]="gaih_inet.*\+0x[[:xdigit:]]+[[:space:]]\($libc|inlined\)$"
>               
> expected[3]="(__GI_)?getaddrinfo\+0x[[:xdigit:]]+[[:space:]]\($libc|inlined\)$"
> -             expected[4]="main\+0x[[:xdigit:]]+[[:space:]]\(.*/bin/ping.*\)$"
> +             
> expected[4]=".*(\+0x[[:xdigit:]]|\[unknown\])+[[:space:]]\(.*/bin/ping.*\)$"
>               ;;
>       *)
>               eventattr='max-stack=3'
>               expected[2]="getaddrinfo\+0x[[:xdigit:]]+[[:space:]]\($libc\)$"
> -             expected[3]=".*\+0x[[:xdigit:]]+[[:space:]]\(.*/bin/ping.*\)$"
> +             
> expected[3]=".*(\+0x[[:xdigit:]]|\[unknown\])+[[:space:]]\(.*/bin/ping.*\)$"
>               ;;
>       esac
>  
> -- 
> 2.7.4

Reply via email to