xref: /openbmc/linux/tools/lib/perf/tests/test-cpumap.c (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
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