Em Thu, Nov 22, 2018 at 03:55:45PM +0200, Adrian Hunter escreveu:
> If the 'sleep' command is provided by coreutils, then the "PERF_RECORD_*
> events & perf_sample fields" test will fail because the MMAP name is
> 'coreutils' not 'sleep', and there is an extra COMM event. Fix the test to
> detect that case.

Thanks, applied.

- Arnaldo
 
> Signed-off-by: Adrian Hunter <adrian.hun...@intel.com>
> ---
>  tools/perf/tests/perf-record.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/tests/perf-record.c b/tools/perf/tests/perf-record.c
> index 34394cc05077..07f6bd8ed719 100644
> --- a/tools/perf/tests/perf-record.c
> +++ b/tools/perf/tests/perf-record.c
> @@ -58,6 +58,7 @@ int test__PERF_RECORD(struct test *test __maybe_unused, int 
> subtest __maybe_unus
>       char *bname, *mmap_filename;
>       u64 prev_time = 0;
>       bool found_cmd_mmap = false,
> +          found_coreutils_mmap = false,
>            found_libc_mmap = false,
>            found_vdso_mmap = false,
>            found_ld_mmap = false;
> @@ -254,6 +255,8 @@ int test__PERF_RECORD(struct test *test __maybe_unused, 
> int subtest __maybe_unus
>                                       if (bname != NULL) {
>                                               if (!found_cmd_mmap)
>                                                       found_cmd_mmap = 
> !strcmp(bname + 1, cmd);
> +                                             if (!found_coreutils_mmap)
> +                                                     found_coreutils_mmap = 
> !strcmp(bname + 1, "coreutils");
>                                               if (!found_libc_mmap)
>                                                       found_libc_mmap = 
> !strncmp(bname + 1, "libc", 4);
>                                               if (!found_ld_mmap)
> @@ -292,7 +295,7 @@ int test__PERF_RECORD(struct test *test __maybe_unused, 
> int subtest __maybe_unus
>       }
>  
>  found_exit:
> -     if (nr_events[PERF_RECORD_COMM] > 1) {
> +     if (nr_events[PERF_RECORD_COMM] > 1 + !!found_coreutils_mmap) {
>               pr_debug("Excessive number of PERF_RECORD_COMM events!\n");
>               ++errs;
>       }
> @@ -302,7 +305,7 @@ int test__PERF_RECORD(struct test *test __maybe_unused, 
> int subtest __maybe_unus
>               ++errs;
>       }
>  
> -     if (!found_cmd_mmap) {
> +     if (!found_cmd_mmap && !found_coreutils_mmap) {
>               pr_debug("PERF_RECORD_MMAP for %s missing!\n", cmd);
>               ++errs;
>       }
> -- 
> 2.17.1

-- 

- Arnaldo

Reply via email to