test-cpumap.c (789B)
1// SPDX-License-Identifier: GPL-2.0 2#include <stdarg.h> 3#include <stdio.h> 4#include <perf/cpumap.h> 5#include <internal/tests.h> 6#include "tests.h" 7 8static int libperf_print(enum libperf_print_level level, 9 const char *fmt, va_list ap) 10{ 11 return vfprintf(stderr, fmt, ap); 12} 13 14int test_cpumap(int argc, char **argv) 15{ 16 struct perf_cpu_map *cpus; 17 struct perf_cpu cpu; 18 int idx; 19 20 __T_START; 21 22 libperf_init(libperf_print); 23 24 cpus = perf_cpu_map__dummy_new(); 25 if (!cpus) 26 return -1; 27 28 perf_cpu_map__get(cpus); 29 perf_cpu_map__put(cpus); 30 perf_cpu_map__put(cpus); 31 32 cpus = perf_cpu_map__default_new(); 33 if (!cpus) 34 return -1; 35 36 perf_cpu_map__for_each_cpu(cpu, idx, cpus) 37 __T("wrong cpu number", cpu.cpu != -1); 38 39 perf_cpu_map__put(cpus); 40 41 __T_END; 42 return tests_failed == 0 ? 0 : -1; 43}