|
@@ -479,6 +479,39 @@ static int test__checkevent_pmu_name(struct perf_evlist *evlist)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+static int test__checkevent_pmu_partial_time_callgraph(struct perf_evlist *evlist)
|
|
|
+{
|
|
|
+ struct perf_evsel *evsel = perf_evlist__first(evlist);
|
|
|
+
|
|
|
+ /* cpu/config=1,call-graph=fp,time,period=100000/ */
|
|
|
+ TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->nr_entries);
|
|
|
+ TEST_ASSERT_VAL("wrong type", PERF_TYPE_RAW == evsel->attr.type);
|
|
|
+ TEST_ASSERT_VAL("wrong config", 1 == evsel->attr.config);
|
|
|
+ /*
|
|
|
+ * The period, time and callgraph value gets configured
|
|
|
+ * within perf_evlist__config,
|
|
|
+ * while this test executes only parse events method.
|
|
|
+ */
|
|
|
+ TEST_ASSERT_VAL("wrong period", 0 == evsel->attr.sample_period);
|
|
|
+ TEST_ASSERT_VAL("wrong callgraph", !(PERF_SAMPLE_CALLCHAIN & evsel->attr.sample_type));
|
|
|
+ TEST_ASSERT_VAL("wrong time", !(PERF_SAMPLE_TIME & evsel->attr.sample_type));
|
|
|
+
|
|
|
+ /* cpu/config=2,call-graph=no,time=0,period=2000/ */
|
|
|
+ evsel = perf_evsel__next(evsel);
|
|
|
+ TEST_ASSERT_VAL("wrong type", PERF_TYPE_RAW == evsel->attr.type);
|
|
|
+ TEST_ASSERT_VAL("wrong config", 2 == evsel->attr.config);
|
|
|
+ /*
|
|
|
+ * The period, time and callgraph value gets configured
|
|
|
+ * within perf_evlist__config,
|
|
|
+ * while this test executes only parse events method.
|
|
|
+ */
|
|
|
+ TEST_ASSERT_VAL("wrong period", 0 == evsel->attr.sample_period);
|
|
|
+ TEST_ASSERT_VAL("wrong callgraph", !(PERF_SAMPLE_CALLCHAIN & evsel->attr.sample_type));
|
|
|
+ TEST_ASSERT_VAL("wrong time", !(PERF_SAMPLE_TIME & evsel->attr.sample_type));
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
static int test__checkevent_pmu_events(struct perf_evlist *evlist)
|
|
|
{
|
|
|
struct perf_evsel *evsel = perf_evlist__first(evlist);
|
|
@@ -1555,6 +1588,11 @@ static struct evlist_test test__events_pmu[] = {
|
|
|
.check = test__checkevent_pmu_name,
|
|
|
.id = 1,
|
|
|
},
|
|
|
+ {
|
|
|
+ .name = "cpu/config=1,call-graph=fp,time,period=100000/,cpu/config=2,call-graph=no,time=0,period=2000/",
|
|
|
+ .check = test__checkevent_pmu_partial_time_callgraph,
|
|
|
+ .id = 2,
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
struct terms_test {
|