13ce311afSJiri Olsa // SPDX-License-Identifier: GPL-2.0
23ce311afSJiri Olsa #include <stdarg.h>
33ce311afSJiri Olsa #include <stdio.h>
43ce311afSJiri Olsa #include <perf/cpumap.h>
53ce311afSJiri Olsa #include <internal/tests.h>
63d970601SJiri Olsa #include "tests.h"
73ce311afSJiri Olsa
libperf_print(enum libperf_print_level level,const char * fmt,va_list ap)83ce311afSJiri Olsa static int libperf_print(enum libperf_print_level level,
93ce311afSJiri Olsa const char *fmt, va_list ap)
103ce311afSJiri Olsa {
113ce311afSJiri Olsa return vfprintf(stderr, fmt, ap);
123ce311afSJiri Olsa }
133ce311afSJiri Olsa
test_cpumap(int argc,char ** argv)143d970601SJiri Olsa int test_cpumap(int argc, char **argv)
153ce311afSJiri Olsa {
163ce311afSJiri Olsa struct perf_cpu_map *cpus;
17*30d1c4d9SJiri Olsa struct perf_cpu cpu;
18*30d1c4d9SJiri Olsa int idx;
193ce311afSJiri Olsa
203ce311afSJiri Olsa __T_START;
213ce311afSJiri Olsa
223ce311afSJiri Olsa libperf_init(libperf_print);
233ce311afSJiri Olsa
243ce311afSJiri Olsa cpus = perf_cpu_map__dummy_new();
253ce311afSJiri Olsa if (!cpus)
263ce311afSJiri Olsa return -1;
273ce311afSJiri Olsa
283ce311afSJiri Olsa perf_cpu_map__get(cpus);
293ce311afSJiri Olsa perf_cpu_map__put(cpus);
303ce311afSJiri Olsa perf_cpu_map__put(cpus);
313ce311afSJiri Olsa
32*30d1c4d9SJiri Olsa cpus = perf_cpu_map__default_new();
33*30d1c4d9SJiri Olsa if (!cpus)
34*30d1c4d9SJiri Olsa return -1;
35*30d1c4d9SJiri Olsa
36*30d1c4d9SJiri Olsa perf_cpu_map__for_each_cpu(cpu, idx, cpus)
37*30d1c4d9SJiri Olsa __T("wrong cpu number", cpu.cpu != -1);
38*30d1c4d9SJiri Olsa
39*30d1c4d9SJiri Olsa perf_cpu_map__put(cpus);
40*30d1c4d9SJiri Olsa
413ce311afSJiri Olsa __T_END;
42bba2ea17SIan Rogers return tests_failed == 0 ? 0 : -1;
433ce311afSJiri Olsa }
44