mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 07:01:32 +00:00
perf tests: Add tests to callgraph and time parse
Add tests in tests/parse-events.c to check call-graph and time option. Signed-off-by: Kan Liang <kan.liang@intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Link: http://lkml.kernel.org/r/1439289050-40510-4-git-send-email-kan.liang@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
9e207ddfa2
commit
71ef150ee0
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user