Messages in this thread | | | From | Ian Rogers <> | Date | Thu, 12 Oct 2023 14:42:57 -0700 | Subject | Re: [PATCH] perf dlfilter: Add a test for object_code() |
| |
On Thu, Sep 28, 2023 at 2:10 AM Adrian Hunter <adrian.hunter@intel.com> wrote: > > Extend the "dlfilter C API" test to test > perf_dlfilter_fns.object_code(). > > Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Tested-by: Ian Rogers <irogers@google.com>
Thanks, Ian
> --- > tools/perf/dlfilters/dlfilter-test-api-v0.c | 12 +++++++++++- > tools/perf/dlfilters/dlfilter-test-api-v2.c | 12 +++++++++++- > 2 files changed, 22 insertions(+), 2 deletions(-) > > diff --git a/tools/perf/dlfilters/dlfilter-test-api-v0.c b/tools/perf/dlfilters/dlfilter-test-api-v0.c > index 72f263d49121..4083b1abeaab 100644 > --- a/tools/perf/dlfilters/dlfilter-test-api-v0.c > +++ b/tools/perf/dlfilters/dlfilter-test-api-v0.c > @@ -289,6 +289,15 @@ static int check_attr(void *ctx) > return 0; > } > > +static int check_object_code(void *ctx, const struct perf_dlfilter_sample *sample) > +{ > + __u8 buf[15]; > + > + CHECK(perf_dlfilter_fns.object_code(ctx, sample->ip, buf, sizeof(buf)) > 0); > + > + return 0; > +} > + > static int do_checks(void *data, const struct perf_dlfilter_sample *sample, void *ctx, bool early) > { > struct filter_data *d = data; > @@ -314,7 +323,8 @@ static int do_checks(void *data, const struct perf_dlfilter_sample *sample, void > if (early && !d->do_early) > return 0; > > - if (check_al(ctx) || check_addr_al(ctx) || check_address_al(ctx, sample)) > + if (check_al(ctx) || check_addr_al(ctx) || check_address_al(ctx, sample) || > + check_object_code(ctx, sample)) > return -1; > > if (early) > diff --git a/tools/perf/dlfilters/dlfilter-test-api-v2.c b/tools/perf/dlfilters/dlfilter-test-api-v2.c > index 38e593d92920..32ff619e881c 100644 > --- a/tools/perf/dlfilters/dlfilter-test-api-v2.c > +++ b/tools/perf/dlfilters/dlfilter-test-api-v2.c > @@ -308,6 +308,15 @@ static int check_attr(void *ctx) > return 0; > } > > +static int check_object_code(void *ctx, const struct perf_dlfilter_sample *sample) > +{ > + __u8 buf[15]; > + > + CHECK(perf_dlfilter_fns.object_code(ctx, sample->ip, buf, sizeof(buf)) > 0); > + > + return 0; > +} > + > static int do_checks(void *data, const struct perf_dlfilter_sample *sample, void *ctx, bool early) > { > struct filter_data *d = data; > @@ -333,7 +342,8 @@ static int do_checks(void *data, const struct perf_dlfilter_sample *sample, void > if (early && !d->do_early) > return 0; > > - if (check_al(ctx) || check_addr_al(ctx) || check_address_al(ctx, sample)) > + if (check_al(ctx) || check_addr_al(ctx) || check_address_al(ctx, sample) || > + check_object_code(ctx, sample)) > return -1; > > if (early) > -- > 2.34.1 >
| |