lkml.org 
[lkml]   [2019]   [Jul]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 73/79] libperf: Add perf_cpu_map test
    Em Sun, Jul 21, 2019 at 01:25:00PM +0200, Jiri Olsa escreveu:
    > Add simple perf_cpu_map tests.

    Its not honouring O= and requires that we first build libperf in the
    source tree, please fix this in a followup patch:

    [acme@quaco perf]$ make -C tools/perf/lib clean
    make: Entering directory '/home/acme/git/perf/tools/perf/lib'
    CLEAN libperf
    CLEAN tests
    make: Leaving directory '/home/acme/git/perf/tools/perf/lib'
    [acme@quaco perf]$ ls -la tools/perf/lib/tests/
    total 16
    drwxrwxr-x. 2 acme acme 4096 Jul 25 07:35 .
    drwxrwxr-x. 4 acme acme 4096 Jul 25 07:35 ..
    -rw-rw-r--. 1 acme acme 857 Jul 25 07:34 Makefile
    -rw-rw-r--. 1 acme acme 328 Jul 25 07:34 test-cpumap.c
    [acme@quaco perf]$ make O=/tmp/build/perf -C tools/perf/lib/ tests
    make: Entering directory '/home/acme/git/perf/tools/perf/lib'
    LINK test-cpumap-a
    gcc: error: ../libperf.a: No such file or directory
    make[1]: *** [Makefile:22: test-cpumap-a] Error 1
    make: *** [Makefile:115: tests] Error 2
    make: Leaving directory '/home/acme/git/perf/tools/perf/lib'
    [acme@quaco perf]$

    libperf itself is honouring O=:

    [acme@quaco perf]$ make O=/tmp/build/perf -C tools/perf/lib
    make: Entering directory '/home/acme/git/perf/tools/perf/lib'
    LINK /tmp/build/perf/libperf.so.0.0.1
    GEN /tmp/build/perf/libperf.pc
    make: Leaving directory '/home/acme/git/perf/tools/perf/lib'
    [acme@quaco perf]$ make O=/tmp/build/perf -C tools/perf/lib tests
    make: Entering directory '/home/acme/git/perf/tools/perf/lib'
    LINK test-cpumap-a
    gcc: error: ../libperf.a: No such file or directory
    make[1]: *** [Makefile:22: test-cpumap-a] Error 1
    make: *** [Makefile:115: tests] Error 2
    make: Leaving directory '/home/acme/git/perf/tools/perf/lib'
    [acme@quaco perf]$

    Its only when I stop using O= that it works:

    [acme@quaco perf]$ make -C tools/perf/lib
    make: Entering directory '/home/acme/git/perf/tools/perf/lib'
    HOSTCC fixdep.o
    HOSTLD fixdep-in.o
    LINK fixdep
    CC core.o
    CC cpumap.o
    CC threadmap.o
    CC evsel.o
    CC evlist.o
    CC zalloc.o
    CC xyarray.o
    CC lib.o
    LD libperf-in.o
    AR libperf.a
    LINK libperf.so.0.0.1
    GEN libperf.pc
    make: Leaving directory '/home/acme/git/perf/tools/perf/lib'
    [acme@quaco perf]$ make O=/tmp/build/perf -C tools/perf/lib tests
    make: Entering directory '/home/acme/git/perf/tools/perf/lib'
    LINK test-cpumap-a
    LINK test-cpumap-so
    running static:
    - running test-cpumap.c...OK
    running dynamic:
    - running test-cpumap.c...OK
    make: Leaving directory '/home/acme/git/perf/tools/perf/lib'
    [acme@quaco perf]$

    It is already useful albeit this limitation, so I'm applying.

    - Arnaldo

    > Link: http://lkml.kernel.org/n/tip-143x51wped4tlsb06sapbfp0@git.kernel.org
    > Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    > ---
    > tools/perf/lib/tests/Makefile | 2 +-
    > tools/perf/lib/tests/test-cpumap.c | 21 +++++++++++++++++++++
    > 2 files changed, 22 insertions(+), 1 deletion(-)
    > create mode 100644 tools/perf/lib/tests/test-cpumap.c
    >
    > diff --git a/tools/perf/lib/tests/Makefile b/tools/perf/lib/tests/Makefile
    > index de951ae38dea..b72c8c47df61 100644
    > --- a/tools/perf/lib/tests/Makefile
    > +++ b/tools/perf/lib/tests/Makefile
    > @@ -1,6 +1,6 @@
    > # SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
    >
    > -TESTS =
    > +TESTS = test-cpumap
    >
    > TESTS_SO := $(addsuffix -so,$(TESTS))
    > TESTS_A := $(addsuffix -a,$(TESTS))
    > diff --git a/tools/perf/lib/tests/test-cpumap.c b/tools/perf/lib/tests/test-cpumap.c
    > new file mode 100644
    > index 000000000000..76a43cfb83a1
    > --- /dev/null
    > +++ b/tools/perf/lib/tests/test-cpumap.c
    > @@ -0,0 +1,21 @@
    > +// SPDX-License-Identifier: GPL-2.0
    > +#include <perf/cpumap.h>
    > +#include <internal/tests.h>
    > +
    > +int main(int argc, char **argv)
    > +{
    > + struct perf_cpu_map *cpus;
    > +
    > + __T_START;
    > +
    > + cpus = perf_cpu_map__dummy_new();
    > + if (!cpus)
    > + return -1;
    > +
    > + perf_cpu_map__get(cpus);
    > + perf_cpu_map__put(cpus);
    > + perf_cpu_map__put(cpus);
    > +
    > + __T_OK;
    > + return 0;
    > +}
    > --
    > 2.21.0

    --

    - Arnaldo

    \
     
     \ /
      Last update: 2019-07-25 12:40    [W:4.053 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site