19
19
#include <internal/tests.h>
20
20
#include <api/fs/fs.h>
21
21
#include "tests.h"
22
+ #include <internal/evsel.h>
22
23
23
24
static int libperf_print (enum libperf_print_level level ,
24
25
const char * fmt , va_list ap )
@@ -30,7 +31,7 @@ static int test_stat_cpu(void)
30
31
{
31
32
struct perf_cpu_map * cpus ;
32
33
struct perf_evlist * evlist ;
33
- struct perf_evsel * evsel ;
34
+ struct perf_evsel * evsel , * leader ;
34
35
struct perf_event_attr attr1 = {
35
36
.type = PERF_TYPE_SOFTWARE ,
36
37
.config = PERF_COUNT_SW_CPU_CLOCK ,
@@ -47,7 +48,7 @@ static int test_stat_cpu(void)
47
48
evlist = perf_evlist__new ();
48
49
__T ("failed to create evlist" , evlist );
49
50
50
- evsel = perf_evsel__new (& attr1 );
51
+ evsel = leader = perf_evsel__new (& attr1 );
51
52
__T ("failed to create evsel1" , evsel );
52
53
53
54
perf_evlist__add (evlist , evsel );
@@ -57,6 +58,10 @@ static int test_stat_cpu(void)
57
58
58
59
perf_evlist__add (evlist , evsel );
59
60
61
+ perf_evlist__set_leader (evlist );
62
+ __T ("failed to set leader" , leader -> leader == leader );
63
+ __T ("failed to set leader" , evsel -> leader == leader );
64
+
60
65
perf_evlist__set_maps (evlist , cpus , NULL );
61
66
62
67
err = perf_evlist__open (evlist );
@@ -85,7 +90,7 @@ static int test_stat_thread(void)
85
90
struct perf_counts_values counts = { .val = 0 };
86
91
struct perf_thread_map * threads ;
87
92
struct perf_evlist * evlist ;
88
- struct perf_evsel * evsel ;
93
+ struct perf_evsel * evsel , * leader ;
89
94
struct perf_event_attr attr1 = {
90
95
.type = PERF_TYPE_SOFTWARE ,
91
96
.config = PERF_COUNT_SW_CPU_CLOCK ,
@@ -104,7 +109,7 @@ static int test_stat_thread(void)
104
109
evlist = perf_evlist__new ();
105
110
__T ("failed to create evlist" , evlist );
106
111
107
- evsel = perf_evsel__new (& attr1 );
112
+ evsel = leader = perf_evsel__new (& attr1 );
108
113
__T ("failed to create evsel1" , evsel );
109
114
110
115
perf_evlist__add (evlist , evsel );
@@ -114,6 +119,10 @@ static int test_stat_thread(void)
114
119
115
120
perf_evlist__add (evlist , evsel );
116
121
122
+ perf_evlist__set_leader (evlist );
123
+ __T ("failed to set leader" , leader -> leader == leader );
124
+ __T ("failed to set leader" , evsel -> leader == leader );
125
+
117
126
perf_evlist__set_maps (evlist , NULL , threads );
118
127
119
128
err = perf_evlist__open (evlist );
@@ -136,7 +145,7 @@ static int test_stat_thread_enable(void)
136
145
struct perf_counts_values counts = { .val = 0 };
137
146
struct perf_thread_map * threads ;
138
147
struct perf_evlist * evlist ;
139
- struct perf_evsel * evsel ;
148
+ struct perf_evsel * evsel , * leader ;
140
149
struct perf_event_attr attr1 = {
141
150
.type = PERF_TYPE_SOFTWARE ,
142
151
.config = PERF_COUNT_SW_CPU_CLOCK ,
@@ -157,7 +166,7 @@ static int test_stat_thread_enable(void)
157
166
evlist = perf_evlist__new ();
158
167
__T ("failed to create evlist" , evlist );
159
168
160
- evsel = perf_evsel__new (& attr1 );
169
+ evsel = leader = perf_evsel__new (& attr1 );
161
170
__T ("failed to create evsel1" , evsel );
162
171
163
172
perf_evlist__add (evlist , evsel );
@@ -167,6 +176,10 @@ static int test_stat_thread_enable(void)
167
176
168
177
perf_evlist__add (evlist , evsel );
169
178
179
+ perf_evlist__set_leader (evlist );
180
+ __T ("failed to set leader" , leader -> leader == leader );
181
+ __T ("failed to set leader" , evsel -> leader == leader );
182
+
170
183
perf_evlist__set_maps (evlist , NULL , threads );
171
184
172
185
err = perf_evlist__open (evlist );
@@ -254,6 +267,7 @@ static int test_mmap_thread(void)
254
267
255
268
evsel = perf_evsel__new (& attr );
256
269
__T ("failed to create evsel1" , evsel );
270
+ __T ("failed to set leader" , evsel -> leader == evsel );
257
271
258
272
perf_evlist__add (evlist , evsel );
259
273
@@ -339,6 +353,7 @@ static int test_mmap_cpus(void)
339
353
340
354
evsel = perf_evsel__new (& attr );
341
355
__T ("failed to create evsel1" , evsel );
356
+ __T ("failed to set leader" , evsel -> leader == evsel );
342
357
343
358
perf_evlist__add (evlist , evsel );
344
359
0 commit comments