xref: /openbmc/linux/tools/perf/tests/thread-map.c (revision 134aa44f)
1134aa44fSJiri Olsa #include <sys/types.h>
2134aa44fSJiri Olsa #include <unistd.h>
3134aa44fSJiri Olsa #include "tests.h"
4134aa44fSJiri Olsa #include "thread_map.h"
5134aa44fSJiri Olsa #include "debug.h"
6134aa44fSJiri Olsa 
7134aa44fSJiri Olsa int test__thread_map(void)
8134aa44fSJiri Olsa {
9134aa44fSJiri Olsa 	struct thread_map *map;
10134aa44fSJiri Olsa 
11134aa44fSJiri Olsa 	/* test map on current pid */
12134aa44fSJiri Olsa 	map = thread_map__new_by_pid(getpid());
13134aa44fSJiri Olsa 	TEST_ASSERT_VAL("failed to alloc map", map);
14134aa44fSJiri Olsa 
15134aa44fSJiri Olsa 	thread_map__read_comms(map);
16134aa44fSJiri Olsa 
17134aa44fSJiri Olsa 	TEST_ASSERT_VAL("wrong nr", map->nr == 1);
18134aa44fSJiri Olsa 	TEST_ASSERT_VAL("wrong pid",
19134aa44fSJiri Olsa 			thread_map__pid(map, 0) == getpid());
20134aa44fSJiri Olsa 	TEST_ASSERT_VAL("wrong comm",
21134aa44fSJiri Olsa 			thread_map__comm(map, 0) &&
22134aa44fSJiri Olsa 			!strcmp(thread_map__comm(map, 0), "perf"));
23134aa44fSJiri Olsa 	thread_map__put(map);
24134aa44fSJiri Olsa 
25134aa44fSJiri Olsa 	/* test dummy pid */
26134aa44fSJiri Olsa 	map = thread_map__new_dummy();
27134aa44fSJiri Olsa 	TEST_ASSERT_VAL("failed to alloc map", map);
28134aa44fSJiri Olsa 
29134aa44fSJiri Olsa 	thread_map__read_comms(map);
30134aa44fSJiri Olsa 
31134aa44fSJiri Olsa 	TEST_ASSERT_VAL("wrong nr", map->nr == 1);
32134aa44fSJiri Olsa 	TEST_ASSERT_VAL("wrong pid", thread_map__pid(map, 0) == -1);
33134aa44fSJiri Olsa 	TEST_ASSERT_VAL("wrong comm",
34134aa44fSJiri Olsa 			thread_map__comm(map, 0) &&
35134aa44fSJiri Olsa 			!strcmp(thread_map__comm(map, 0), "dummy"));
36134aa44fSJiri Olsa 	thread_map__put(map);
37134aa44fSJiri Olsa 	return 0;
38134aa44fSJiri Olsa }
39