From: Kan Liang <kan.li...@intel.com>

Add tests in tests/parse-events.c to check callgraph and time option

Signed-off-by: Kan Liang <kan.li...@intel.com>
---
 tools/perf/tests/parse-events.c | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/tools/perf/tests/parse-events.c b/tools/perf/tests/parse-events.c
index f65bb89..fa733d5 100644
--- a/tools/perf/tests/parse-events.c
+++ b/tools/perf/tests/parse-events.c
@@ -479,6 +479,29 @@ 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,callgraph=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);
+       TEST_ASSERT_VAL("wrong period",  100000 == 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,callgraph=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);
+       TEST_ASSERT_VAL("wrong period",  2000 == 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 +1578,11 @@ static struct evlist_test test__events_pmu[] = {
                .check = test__checkevent_pmu_name,
                .id    = 1,
        },
+       {
+               .name  = 
"cpu/config=1,callgraph=fp,time,period=100000/,cpu/config=2,callgraph=no,time=0,period=2000/",
+               .check = test__checkevent_pmu_partial_time_callgraph,
+               .id    = 2,
+       },
 };
 
 struct terms_test {
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to